Как запросить объединенную таблицу (has_and_belongs_to_many) в контроллере - PullRequest
0 голосов
/ 31 июля 2010

Я установил связь между project.rb и keyword.rb, используя has_and_belongs_to_many. Теперь я хочу запросить в моем проекте-контроллере все проекты, связанные с определенным ключевым словом. Какой самый простой способ сделать запрос к объединенной таблице keys_projects? Где соединитель из projects.rb к объединенной таблице?

@projects = Project.find(:all, :conditions => [??])

Любая помощь очень ценится. Thx.

Ответы [ 2 ]

1 голос
/ 31 июля 2010

Простой способ:

@projects = Keyword.find('keyword').projects

или

@ projects = Project.all (: условие => {: ключевые слова => {: имя => «ключевое слово»}},: include =>: ключевые слова)

0 голосов
/ 03 августа 2011

Хорошо, тогда в моем приложении Rails что-то не так:

В обеих моих моделях (здесь папка и роль) я определил habtm (: role,: folder).CRUD работает, таблица folder_roles существует, поэтому БД заполнена безупречно.Но при попытке сделать запрос ...

@folders = Role.where("name = ?", "family").folders

... в контроллере моей папки Rails лает о ...

undefined method `folders' for #<ActiveRecord::Relation:0xb6ecc12c>

(я просто хочу загрузить только эти папки,которые связаны с ролью под названием "семья".)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...