从两个表和列表中选择数据



我有以下结构:

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>的未定义方法"hobby_name"

我以为我有这种联想是对的,但这个错误让人困惑。。。你能帮我找个人吗?哪里有问题?

您必须指定关系,您的对象没有名为hobby_name的属性,它与多个爱好有关联,每个爱好都有一个名为hobby_name 的属性

因此:

<% item.hobbies.each do |h| %>
<%= h.hobby_name %>
<% end %>

相关内容

  • 没有找到相关文章

最新更新