我有以下结构:
class User < ActiveRecord::Base
has_many :Hobbies, :dependent => :destroy
accepts_nested_attributes_for :hobbies, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true
end
class Hobby < ActiveRecord::Base
belongs_to :User
end
在我的 Users_controller.rb
中 def index
@data = User.all(:joins => :hobbies)
end
在 index.html.erb
中 <% for item in @data %>
<tr>
<td><%= item.id %></td> #from table Users
<td><%= item.hobby_name %></td> #from table Hobbies
</tr>
<% end %>
这为#User:0x103cf7480&gt;
我认为我的关联是正确的,但是这个错误让人感到困惑......你能帮我一个人,请问哪里可能有问题?答案 0 :(得分:1)
您必须指定关系,您的对象没有名为hobby_name的属性,它与多个爱好有关联,并且每个爱好都有一个名为hobby_name的属性
所以:
<% item.hobbies.each do |h| %>
<%= h.hobby_name %>
<% end %>