RoR Ссылка "Имеет много"> Как получить заголовок по внешнему ключу? - PullRequest
0 голосов
/ 22 июня 2011

У меня есть основной вопрос взаимоотношений в RoR:

В представлении я пытаюсь отобразить заголовок группы, который находится в таблице "groups", и только ключ "group_id"хранится в таблице / объекте "product".

Когда я пишу product.group_id, я вижу значение в базе данных, но если я пишу product.group.title, RoR сообщает мне неопределенный метод `group 'для#.

Это основной вопрос, поэтому я ценю вашу помощь!

Код в представлении (это работает, но так ужасно! Я уверен, что есть такой продукт, как product.group.title)

<% @products.each do |product| %>
  <%= Group.find(product.group_id).title %>  </td>
<% end %>

и модели:

class Group < ActiveRecord::Base
  has_many :products, :dependent => :destroy
end

class Product < ActiveRecord::Base
  belongs_to :groups
  has_and_belongs_to_many :authors
end

1 Ответ

2 голосов
/ 22 июня 2011

Должно быть belongs_to :group, а не groups

Также, на ваш взгляд, вы могли бы сделать это проще:

<% @products.each do |product| %>
  <%= product.group.title %>  </td>
<% end %>
...