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

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

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

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

1回答

258閲覧

rails4でユーザ詳細画面に値を渡したい

tixure55

総合スコア400

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2018/04/24 21:31

ruby on rails4で商品画面から商品のクチコミを書き込んだユーザ名からユーザの詳細ページに飛ぶようにページを作りました。ユーザ詳細ページはcontrollerでdef
show_user_detailと定義しました。

#やりたいこと
詳細ページに飛んだときに商品画面ページで使っていた値を詳細ページでも使いたい

以下はcontrollerです。

ruby

1def show 2 #render plain: params[:id].inspect 3 4 @r = Project.joins("LEFT OUTER JOIN reviews ON projects.id = reviews.project_id LEFT OUTER JOIN user_items ON user_items.user_id = reviews.user_id").where("reviews.project_id = ?" , params[:id]).select("reviews.* , user_items.*") 5 6 end 7 8 def show_user_detail 9 #render plain: params[:user_id].inspect 10 11 @r = Project.joins("LEFT OUTER JOIN reviews ON projects.id = reviews.project_id LEFT OUTER JOIN user_items ON user_items.user_id = reviews.user_id").where("reviews.project_id = ?" , params[:id]).select("reviews.* , user_items.*") 12 13 end 14

showの方だと、@rが取得できて、クチコミユーザの名前も表示できているのですが、show_user_detailの方ではまったく同じActiveRecordの内容でも取得できません。showで取得した@rをshow_user_detialでそのまま使えるようにしたいのですがどのように書けば取得結果を持ち回れるでしょうか。

show.html.erb(view)

ruby

1 <% @r.each do |userlist| %> 2 <%= link_to userlist.user, projects_show_user_detail_path(@r) %> 3 : 4 <%= add_star %> 5 <b><%= userlist.star %></b> 6 <%= userlist.review %> 7 <br> 8 <% end %> 9

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

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

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

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

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

guest

回答1

0

@@rなどのようにクラス変数にしてしまうか、paramsで渡す方法が良いかなと
ちなみにこのコントローラーはProjectモデルのコントローラーですか?

投稿2018/05/16 09:19

space-hippy

総合スコア136

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問