у меня есть такие две модели:рельсы смотреть HAS_MANY отношению
class Article < ActiveRecord::Base
belongs_to :articles_type
end
class ArticlesType < ActiveRecord::Base
has_many :articles
end
и в контроллере я пишу:
@articles = Article.where(article_type_id: params[:id])
и ввиду (Haml) я стараюсь:
= @articles.articles_type.id
= @articles.articles_types.id
= @articles.first.articles_type.id
= @articles.first.articles_types.id
как Могу ли я отобразить этот article_type.id, но только для первой строки?
теперь я получить
undefined method `articles_type'
, но почему? что я делаю неправильно? как отобразить идентификатор вложенной модели?
нет, что, если я хочу извлечь из ArticlesType какое-то поле, называемое a_text? –
Да, в этом случае вам нужно будет сделать '@ articles.first.articles_type.a_text'. Все зависит от того, что вы хотите сделать. Если вы когда-либо захотите просто получить доступ к идентификатору, и ваша модель уже имеет идентификатор, тогда лучше просто получить доступ к нему из этой модели по соображениям производительности и оптимизации. – MrDanA