前提・実現したいこと
現在、Ruby(Rails)で簡易版のtwitterのようなアプリを作っています。
投稿した内容にコメントができるような機能を実装したいのですが、テキストエリアに入力した情報がうまいこと保存されないことに悩んでいます。
お分かりになる方がいましたら、教えていただけると助かります。
発生している問題・エラーメッセージ
エラーメッセージ
viewのform部分
<% if current_user %> <%= form_tag("/talk/#{@post.id}/comments", method: :post) do %> <div class="col-sm-6 offset-sm-3"> <textarea cols="30" name="text" placeholder="コメントする" rows="2" class="form-control"></textarea> </div> <div class="col-sm-6 offset-sm-3 mt-2" > <input type="submit" value="SENT" class="btn btn-primary"> </div> <% end %> <% end %> </div>
controller部分
class CommentsController < ApplicationController def create Comment.create(text: comment_params[:text], post_id: comment_params[:talk_id], user_id: current_user.id) end private def comment_params params.permit(:text, :talk_id) end end
rooting部分
Rails.application.routes.draw do devise_for :users root 'talk#index' resources :talk do resources :comments, only: [:create] end resources :users, only: [:show] end
何が原因なのか?
binding.pryでフォームから送られた情報を見た所、textもpost_idも送信されており、データベース保存に必要な情報は全て送られていたのですが、何が原因なのでしょうか?
補足情報
Ruby -v 2.5.0
Rails -v 5.2.1
あなたの回答
tips
プレビュー