Как создать одно основное условие для использования activerecord - PullRequest
0 голосов
/ 25 февраля 2012

У меня есть много таблиц с полем user_id, и я хочу отфильтровать все запросы к этим таблицам, добавив предложение where для этого user_id. Как я смогу достичь этого в Rails?

Спасибо!

1 Ответ

5 голосов
/ 25 февраля 2012

Я думаю, вы думаете об этом задом наперед.Выполните поиск в этих таблицах по имеющемуся у вас объекту пользователя, убедившись, что они уже связаны в ActiveRecord.Итак, если у вас есть таблица журналов, вы бы использовали что-то вроде этого:

#app/models/user.rb
class User < ActiveRecord::Base
  has_many :magazines

#app/models/magazine.rb
class Magazine < ActiveRecord::Base
  belongs_to :user

Тогда вы можете ссылаться на все журналы пользователя через экземпляр пользователя:

@user = User.first
@user.magazines.all

Это вернет все журналы, у которых user_id равен идентификатору пользователя.

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