2013-06-19 6 views
0

Пытался найти это в документах, но не смог найти ответ. Если у меня есть модель токена, что BELONGS_TO Пользователя, я могу сделать:рельсы ActiveRecord, используя отношения где метод

Token.where(:user_id => u.id) 

где и является экземпляром класса User.

Но это невозможно сделать:

Token.where(:user => u) 

не Если это возможно, или я что-то отсутствует? (ИМО гораздо более выразительно и проще).

ответ

0

Вы можете использовать имена столбцов базы данных только в разделе where. «user_id» - это имя столбца, но «пользователь» - это имя ассоциации.

Если у вас есть связь между моделью пользователя и моделью токена, вы можете это сделать.

u.tokens 

Ассоциация должна выглядеть следующим образом.

class User < ActiveRecord::Base 
    has_many :tokens 
end 

class Token < ActiveRecord::Base 
    belongs_to :user 
end 
+0

Да, у меня есть связь между моделью пользователя и режимом токена. – 0xSina

Смежные вопросы