2013-10-03 106 views
1

仍然停留在https://stackoverflow.com/questions/19156673/create-in-multiple-models-with-one-form-in-a-has-many-through-association但現在嘗試了不同的策略。我只想讓相關的模型正確顯示。如何顯示在視圖中,從相關的模型數據?

我應該提到這是通過關係的has_many。微縮模型有許多製造商通過生產。

這就是我的微型顯示器試圖展示。三個對象來自它自己的模型,另一個來自制造商模型。

<%= @miniature.name %><br /> 
    Material: <%= @miniature.material %><br /> 
    Manufacturer: <%= @miniature.manufacturers.select(:name).to_a %><br /> 
    Release date: <%= @miniature.release_date.strftime("%d %b %Y") unless @miniature.release_date.blank? %><br /> 
    <%= link_to "Edit this miniature listing", edit_miniature_path %> 

它所顯示的是

Miniature 1 
Material: China 
Manufacturer: [#<Manufacturer id: nil, name: "Cytt">, #<Manufacturer id: nil, name: "Yenn">] 
Release date: 02 Mar 2002 Edit this miniature listing 

我怎麼能改寫<%= @miniature.manufacturers.select(:name).to_a %>,使其只返回兩個名字,而不是他們周圍所有的垃圾?

至少它證明了我的協會正在努力,即使我不能讓他們通過嵌套形式創建。

回答

5
<%= @miniature.manufacturers.map(&:name).join(', ') %> 

<% @miniature.manufacturers.each do |manufacturer| %> 
    <%= manufacturer.name %> 
    ... 
<% end %> 
+0

神奇。地圖。沒有在任何地方找到。你的第一個版本和我想要的完全一樣。非常感謝。你的第二個只是打印字廠商的兩倍,是我的錯嗎? – Ossie

相關問題