Выберите данные из двух таблиц и список - PullRequest
0 голосов
/ 10 июня 2011

У меня следующая структура:

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 %>

И это дает мне ошибку неопределенный метод `hobby_name 'для # User: 0x103cf7480>

Я думал, что у меня есть право на эти ассоциации, но эта ошибка делаетрастерялся ... Можете ли вы помочь мне, пожалуйста, где может быть проблема?

1 Ответ

1 голос
/ 10 июня 2011

Вы должны указать отношение, у вашего объекта нет атрибута с именем hobby_name, у него есть связь с несколькими хобби, и у каждого хобби есть атрибут с именем hobby_name

Итак:

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