現在開発をしておりまして、チャット機能を作成中でエラーが起きます。
チャット機能は部分テンプレート化して全ページで呼び出せる様にしようと思いrenderを使っております。
topページ index.html.erb(このコントローラがエラー文のjobsです) に
<%= render partial: "chats/chat" , locals: { chat: @chats } %>
と記載し
chatsフォルダーの_chat.html.erbを作成しその中で
<div class="xxx"> <%= form_for @Chat, url: "/chats", method: "post" do |f| %> <%= f.text_field :comment, class: "xxx__xxx" %> <%= f.submit %> <% end %> </div>
とform_forでDBにコメントをPOSTで格納したいのですが、indexページをリロードすると
ArgumentError in Jobs#index エラーが出てしまいます。
コントローラーは
jobsが
def index @jobs = Job.all @chats = Chat.all end
chatsが
def new @chat = Chat.new end def create @Chat = Chat.new(message_params) @Chat.save end private def message_params params.require(:chat).permit(:comment, :student_id, :advisor_id) # .merge(user_id: current_user.id) end
となっております(質問に当たってclass定義等は割愛しております、.merge(user_id: current_user.id)
endは今後の機能でつけるためコメントアウトしております。)
部分テンプレート化する前にjobsコントローラー単体でcreateを作成した時はindexページにエラーはでず送信フォームが表示されparamsも問題なく飛んでおりました。
追記依頼編集しました
回答1件
あなたの回答
tips
プレビュー