Rails4.2.0にて以下の様なネストされたModel構造のとき、
viewからeachで[Content]モデルのデータにアクセスする方法がわからず困っています。
[User] - 1:n - [Article] - 1:n - [Content]
user_controllerに以下を記述し
lang
1@user = User.find(params[:id])
user#showを以下のようにすることで
lang
1ul 2 - @user.articles.each do |article| 3 li = article.id
Userに紐づくArticleの一覧を取得できているのですが、
その後、それぞれのArticleに対するContentの出し方がわかりません。
試しに
lang
1@user = User.find(params[:id])
lang
1ul 2 - @user.articles.each do |article| 3 li = article.id 4 5 - @user.article.contents.each do |content| 6 p = content.id 7 p = content.title
や、
lang
1@article = Article.find(params[:id]) 2@content = Content.where(:article_id => @article.id)
lang
1ul 2 - @user.articles.each do |article| 3 li = article.id 4 5 - @article.contents.each do |content| 6 p = content.id 7 p = content.id
としてみているのですが上手くできません。。
なお、ModelでのAssociationや、
dbでのresoucesの設定は終わっている状態です。
この先がどうしても理解ができなかったので質問させていただきました。
詳しい方ご教授いただけますとすごく嬉しいです。
よろしくお願いいたします。
追記:
とりいそぎ、以下で書くことにしました。
これよりスマートな書き方がありましたら
教えていただけますと嬉しいです。
よろしくお願いいたします。
lang
1 def show 2 @user = User.find(params[:id]) 3 @contents = Content.where(:user_id => @user.id) 4 end
lang
1ul 2 - @user.articles.each do |article| 3 li = article.id 4 5 - @contents.each do |content| 6 - if article.id == content.id 7 p = content.title
回答2件
あなたの回答
tips
プレビュー