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

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

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

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

Q&A

解決済

1回答

657閲覧

railsのviewで外部結合で取得したSQLの結果が取得できない

tixure55

総合スコア400

Ruby on Rails

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

0グッド

0クリップ

投稿2018/04/23 10:16

編集2018/04/23 11:16

お世話になります、ruby on rails4でコントローラでテーブル間の外部結合した結果をviewで取りたいのですが、下記エラーがでております。

Showing /var/www/ruby/taskapp/app/views/projects/show.html.erb where line #187 raised:

undefined method `user' for #Project::ActiveRecord_Relation:0x0000000701fd68

コントローラでのSQL生成は次のとおりです。

ruby

1@s = Project.joins("LEFT OUTER JOIN users ON projects.id = users.project_id").where("users.project_id = ?" , params[:id]).select("projects.* , users.*")

ruby

1<%= debug @s %>

では下記の通り、値は取得できております。


  • !ruby/object:Project
    attributes:
    id: 1
    user: hoge
    created_at: 2018-04-21 23:17:02.271057000 Z
    updated_at: 2018-04-21 23:17:02.271057000 Z
    content: '1'
    email: hoge@rmail.com
    project_id: 1

どのようにアクセスすればdebugで出ている値をviewで取得できますでしょうか。

#やりたいこと

ruby

1#これだとエラー 2<%= @s.user %>

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

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

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

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

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

guest

回答1

0

自己解決

下記の方法で取得できました。

ruby

1<% @s.each do |val| %> 2 <%= val.user %> 3<% end %>

投稿2018/04/23 18:29

tixure55

総合スコア400

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問