ツイッターのようなリプライ機能を作りたい
ツイートする機能、またそのツイートしたものをお気に入りにできたりする機能などを付けて、リプライ機能も付けようと思ったのですが以下のエラーメッセージが発生してしまいました。ruby on rails初心者のため、ごちゃごちゃな感じになってると思いますがお願いします。
発生している問題・エラーメッセージ
ActionController::ParameterMissing in RepliesController#create param is missing or the value is empty: reply
該当のソースコード
ruby
1class RepliesController < ApplicationController 2 before_action :require_user_logged_in 3 before_action :correct_user, only: [:destroy] 4 5 def create 6 @reply = current_user.replies.build(reply_params) 7 @micropost = @reply.micropost 8 if @reply.save 9 flash[:success] = "メッセージをリプライしました" 10 redirect_to @micropost 11 else 12 @replies = @micropost.replies 13 flash.now[:danger] = "リプライの投稿に失敗しました" 14 render 'microposts/show' 15 end 16 end 17 18 def destroy 19 @micropost.destroy 20 flash[:success] = 'メッセージを削除しました。' 21 redirect_back(fallback_location: root_path) 22 end 23 24 def show 25 @micropost = Micropost.find(params[:id]) 26 @reply = Reply.new(micropost_id: @micropost.id) 27 @replies = @micropost.replies 28 end 29 30 private 31 32 def reply_params 33 params.require(:reply).permit(:content) 34 end 35 36 def correct_user 37 @reply = current_user.replies.find_by(id: params[:id]) 38 unless @reply 39 redirect_to root_url 40 end 41 end 42end
マイグレーション
class
1 def change 2 create_table :replies do |t| 3 t.references :user, foreign_key: true 4 t.references :micropost, foreign_key: true 5 t.string :content 6 7 t.timestamps 8 end 9 end 10end
試したこと
他のファイルでparamに関係しているところをチェックした。
補足情報(FW/ツールのバージョンなど)
ruby 2.4.1
Rails 5.0.7
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/08/28 09:34
退会済みユーザー
2018/08/29 00:16
退会済みユーザー
2018/08/29 16:35
退会済みユーザー
2018/08/30 00:08