2013-10-03 108 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

相关问题