メッセージを作った時に、同時に日付が表示されるようにしたいのですが、下記のようにエラーが出てしまっています。
コントローラーは下記のようにしております。
class MessagesController < ApplicationController before_action :set_user, only: %i[create] def index @message = Message.new @messages = current_user.messages.includes(:user) end def create @message = @user.messages.new(message_params) if @message.save redirect_to user_messages_path(@user), notice: 'メッセージが送信されました' else @messages = @user.messages.includes(:user) flash.now[:alert] = 'メッセージを入力してください。' render :index end end private def message_params params.require(:message).permit(:content, :image).merge(user_id: current_user.id) end def set_user @user = User.find(params[:user_id]) end end
エラーの出ているビューファイルが下記です。
.message .upper-message .upper-message__user-name = current_user.name .upper-message__date = @message.created_at.strftime("%Y年%m月%d日 %H時%M分") .lower-message - if message.content.present? %p.lower-message__content = message.content = image_tag message.image.url, class: 'lower-message__image' if message.image.present?
アドバイス頂ければ幸いでございます。
「Messages#index」とあるので、デバッガで見たところnilは見つけられなかったのですが↓↓、着目箇所や方法など、不足点等ご指摘頂ければ幸いです。
4: def index => 5: binding.pry 6: @message = Message.new 7: @messages = current_user.messages.includes(:user) 8: end [1] pry(#<MessagesController>)> params => <ActionController::Parameters {"controller"=>"messages", "action"=>"index", "user_id"=>"1"} permitted: false>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。