仍然坚持https://stackoverflow.com/questions/19156673/create-in-multiple-models-with-one-form-in-a-has-many-through-association,但现在尝试不同的方法。我只是想让相关模型正确显示。
我应该提一下这是一个很好的关系。微缩模型有许多制造商通过生产。
这是我的微型显示器试图显示的内容。三个对象来自它自己的模型,一个来自制造商模型。
<%= @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 %>
以便它只返回两个名字,而不是它们周围的所有废话?
至少它证明我的协会正在运作,即使我无法通过嵌套表单创建它们。
答案 0 :(得分:6)
<%= @miniature.manufacturers.map(&:name).join(', ') %>
或
<% @miniature.manufacturers.each do |manufacturer| %>
<%= manufacturer.name %>
...
<% end %>