我有這樣兩種型號:軌查看的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
如何我可以顯示這些articles_type.id但只有第一行嗎?
現在我得到
undefined method `articles_type'
但爲什麼呢?我做錯了什麼?如何顯示嵌套的模型ID?
不,如果我想從ArticlesType中獲取一些名爲a_text的字段? –
是的,在這種情況下,你會想要做'@ articles.first.articles_type.a_text'。這完全取決於你想要做什麼。如果你曾經想要訪問一個ID,並且你的模型已經有了ID,那麼最好從該模型中訪問它以達到性能和優化的原因。 – MrDanA