表題の仕様にしたいのですが、上手く反映されない状態です。
下記、コントローラーです。
class MessagesController < ApplicationController def index @message = Message.new @messages = current_user.messages end def create @message = current_user.messages.new(message_params) if @message.save redirect_to user_messages_path(current_user), notice: 'メッセージが送信されました' else @messages = current_user.messages flash.now[:alert] = 'メッセージを入力してください。' render :index end end private def message_params params.require(:message).permit(:content, :image).merge(user_id: current_user.id) end end
下記がビューファイルです。この下の方に書いてある「form」で記入して「Send」ボタンを押すと、送ったメッセージがビューに自動反映される様にしたいと考えております。
.messages .message .upper-message .takername = current_user.name .upper-message__date = @message.created_at .lower-message - if @message.content.present? %p.lower-message__content = @message.content .message .takerface %img{alt: "userface", src: "https://imgc.eximg.jp/i=https%253A%252F%252Fs.eximg.jp%252Fexnews%252Ffeed%252FRen_ai%252FRen_ai_188420_6aed_1.jpg,zoom=600,quality=70,type=jpg"}/ .contents .takername ミシェル・アンジェリーナ さんへ .letter いつもサポートしてくれてありがとうございます!おかげさまで仕事がはかどります! .credo #仕事好き #親身心 #人生を変える .like いいね! .form = form_for [current_user, @message] do |f| = f.text_field :content, class: 'form__message', placeholder: 'type a message' .form__mask = f.label :image, class: 'form__mask__image' do = icon('fas', 'image', class: 'icon') = f.file_field :image, class: 'hidden' = f.submit 'Send', class: 'form__submit'
仮説として、インスタンス変数である「@message」がコントローラーからビューに引き渡せていない事が原因ではないかと考えているのですが、どの様に書き換えれば良いかがわからない状態です。
ご助言いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。