前提・実現したいこと
グループと個人でチャットできるアプリで、チャット画面を開こうとすると以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
ActionController::UrlGenerationError in Groups#index
No route matches {:action=>"index", :controller=>"messages"}, missing required keys: [:user_id]
.friends = link_to user_messages_path, class: "friend" do
該当のソースコード
html
1.side__user-lists 2 フレンド 3 = link_to users_path, class: "member-add" do 4 = icon('fas', 'plus-square', class: 'addition') 5 .side__users 6 .friends 7 = link_to user_messages_path, class: "friend" do 8 .friend__name 9 10 .friend__message 11
html
1.user-addPage 2 .user-addPage__header 3 %h1 友達を追加する 4 = link_to "トップページに戻る", :back, class: 'button' 5 %ul.user-addPage__lists 6 - @users.each do |user| 7 %li.user-list 8 = user.name 9 .add-btn{"data-user-name": user.name} 10 .user-add 追加する
ruby
1class MessagesController < ApplicationController 2 before_action :set_group 3 before_action :set_user 4 5 def index 6 @message = Message.new 7 @UserMessage = @user.messages 8 @GroupMessage = @group.messages.includes(:user) 9 end 10 11 def create 12 @UserMessage = @user.messages.new(message_params) 13 if @UserMessage.save 14 respond_to do |format| 15 format.json 16 end 17 else 18 @UserMessage = @user.messages.includes(:user) 19 flash.now[:alert] = 'メッセージを入力してください' 20 render :index 21 end 22 23 @GroupMessage = @group.messages.new(message_params) 24 if @GroupMessage.save 25 respond_to do |format| 26 format.json 27 end 28 else 29 @GroupMessage = @group.messages.includes(:user) 30 flash.now[:alert] = 'メッセージを入力してください' 31 render :index 32 end 33 end 34 35 private 36 37 def message_params 38 params.require(:message).permit(:text, :image).merge(user_id: current_user.id) 39 end 40 41 def set_group 42 @group = Group.find(params[:group_id]) 43 end 44 45 def set_user 46 @user = User.find(params[:user_id]) 47 end 48 49end
試したこと
同じエラーがでてる人を探してみましたが、当てはまるものがありませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/04 11:23
2020/08/04 11:27
2020/08/04 12:54
2020/08/04 13:27
2020/08/04 14:23
2020/08/04 22:48
2020/08/05 00:24 編集
2020/08/05 02:14
2020/08/05 04:23
2020/08/05 06:06
2020/08/05 12:24