2015-07-30 2 views
0

Чтобы получить доступ к атрибутам модели в модели, вы можете позвонить self[:attribute_name], например. если у вас есть атрибут: question, то вы можете вызвать self[:question] в модели для доступа к значению для этого атрибута.Rails: ассоциации доступа в пределах модели

Как я могу это сделать для ассоциаций? Когда я пытаюсь получить доступ к ассоциациям так же, как и к нулю. Так что, хотя я могу получить доступ к f.subs за пределами модели, в модели self[:subs] подходит ноль.

Спасибо!

+0

самоуправления относится к классу одноплодной этого конкретного объекта ... вам необходимо загрузить его с помощью self.includes (Учетные записи). ... так, чтобы получить доступ к ассоциации, а – Milind

ответ

0

Можете ли вы попробовать self.subs внутри модели. если ваш метод является методом экземпляра всегда можно назвать атрибуты и ассоциации с помощью self.subs

self.subs вернет вам все ассоциированные объекты против self (что ваш текущий объект. Для того, чтобы получить какой-либо атрибут, например, наименование модели, ассоциированные. вы можете просто попробуйте это

assosiated_obj = self.subs.first 
p assosiated_obj.name 
+0

это его ! 'self.subs' вернул тип объекта' ActiveRecord :: Associations :: CollectionProxy', поэтому я думал, что не могу его использовать. Спасибо! – Kei

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