質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3783閲覧

Rails 入れ子にしたeachで親each変数の参照方法

ruby_0ct

総合スコア57

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2018/06/24 10:35

viewでhas_many先のテーブルのカラムを参照しています。
入れ子にしたeach内で親eachの変数にアクセスする方法はないでしょうか?

model/dvd.rb has_many :histories
model/history.rb belongs_to :dvd

コントローラでincludeして、each文を2つ回すことで参照しているのですが、

/view/dvd/index.html.erb

ruby

1<% @dvds.each do |dvd| %> 2 <% dvd.histories.each do |history| %> 3 4 <div class="item"> 5 <h1><%= dvd.title %></h1> 6 <p>このDVDは<%= history.returndeadline %>までレンタル中です。</p> 7 </div> 8 9 <% end %> 10 11 <div class="evaluation-star"><%= dvd.starvalue %></div> 12<% end %>

入れ子にしたeach内で親eachの変数(dvd)にアクセスしようと、h1タグをこのまま表示させると、undefined method 'dvd'エラーになってしまいます。
親eachの変数にアクセスするためには、どうすれば良いでしょうか?

また、<%= dvd.starvalue %>の部分は入れ子のeach外ですが、dvdテーブルの最初のレコード内容が繰り返し表示されてしまいます。
原因の関係性はあるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

書き方は間違っていません。エラーの場所が違うのでしょう。

投稿2018/06/24 12:42

otn

総合スコア84551

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruby_0ct

2018/06/24 14:52

すみません、他の場所でエラーとなっておりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問