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

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

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

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

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

569閲覧

パラメーターでデータの取得、表示ができないです

kaerunrun

総合スコア6

Ruby

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

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/10/06 08:19

編集2020/10/11 08:52

メッセージ機能の実装の中で、メッセージを送信すると自動で名前や時刻を表示できるようにしたいのですが、エラーになってしまいます。
messagesのindexでメッセージのやりとりの画面を表示したいです。

:出ているエラー

NameError in Messages#index Showing /Users/kaeo/projects/gol-po/app/views/messages/index.html.erb where line #22 raised: undefined local variable or method `message' for #<#<Class:0x00007fb582acef38>:0x00007fb582acd5e8> Did you mean? @message @messages

:messages_controller

class MessagesController < ApplicationController before_action :authenticate_user! def index @message = Message.new @golf = Golf.find(params[:golf_id]) @messages = @golf.messages.includes(:user) end def create @golf = Golf.find(params[:golf_id]) @message = @golf.messages.new(message_params) if @message.save redirect_to golf_messages_path(@golf) else @messages = @golf.messages.includes(:user) render :index end end private def message_params params.require(:message).permit(:content).merge(user_id: current_user.id, golf_id: params[:golf_id]) end end

:golves_controller

def new @golf = Golf.new end def create @golf = Golf.new(golf_params) if @golf.save redirect_to root_path else render :new end @comment = Comment.new @commentALL = @golf.comments @message = Message.new @messageALL = @golf.messages end def show @comment = Comment.new @comments = @golf.comments.includes(:user) @message = Message.new @messages = @golf.messages.includes(:user) end

:messages
index.html.erb

<div class="messages"> <div class="message"> <div class="upper-message"> <div class="message-user"> <!-- 投稿したユーザー名情報を出力する --> <%= message.user.nickname %> </div> <div class="message-date"> <!-- 投稿した時刻を出力する --> <%= message.created_at %> </div> </div> <div class="lower-message"> <div class="message-content"> <!-- 投稿したメッセージ内容を記述する --> <%= message.content %> </div> </div> </div> </div>

<%= message.user.nickname %>
のところにエラーが出ています。

createの下にbinding.pryをかけて@messageの中身を見るとnil
になっていました。
controllerがよくないかとは思うのですが、どう記述したら良いのか分からなくなってしまいました。
どなたかお力貸していただけないでしょうか。よろしくお願い致します。

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

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

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

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

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

gouf

2020/10/06 13:15

当該コードを含む リポジトリは公開可能ですか?
winterboum

2020/10/08 13:13

エラーメッセージを全文載せてください
kaerunrun

2020/10/11 08:47

gouf様 遅くなり申し訳ありません。 githubにログインできなくなっていました。。。 このurlで見れますでしょうか。 https://github.com/kaeobara/gol-po/pulls よろしくお願い致します。
kaerunrun

2020/10/11 08:47

winterboum様 追記しましたので、よろしくお願い致します。
guest

回答1

0

自己解決

部分テンプレートを用いて、htmlを分けてrenderで呼び出すようにしたら、なぜかできました。。。自分でもなぜかよく分からないのですが。。。

投稿2020/10/11 09:15

kaerunrun

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問