前提・実現したいこと
ruby on railsにてコメント機能を実装しております。
各ユーザーのポストに対して、ポスト詳細ページを作成しそこにコメント入力欄とその下にコメント内容、コメントしたユーザー名を表示したいです。
発生している問題・エラーメッセージ
コメントを投稿するボタンを押してもエラーにはなりませんが、コメントが表示されません。
コンソールないには Unpermitted parameter: :content と記載がございます。
該当のソースコード
comment.rb
class Comment < ApplicationRecord belongs_to :user belongs_to :micropost validates :content, presence: true end
class CommentsController < ApplicationController def create @micropost = Micropost.find_by(params[:micropost_id]) @comment = @micropost.comments.build(comment_params) @comment.user = current_user if @comment.save redirect_to root_url else render "microposts/show" end end def destroy @comment = Comment.find_by(id: params[:id]) @comment.destroy redirect_to request.referrer || root_url end private def comment_params params.require(:comment).permit(:ccontent) end end
comment_controller.rb
コメント詳細ページ(VIEW)
<div class="comment-form"> <%= form_with(model: [@micropost, @comment], local: true) do |f| %> <div class="field"> <%= f.text_area :content %> </div> <%= f.submit "コメントする", class: "btn btn-primary" %> <% end %> </div> <div> <% @micropost.comments.each do |comment| %> <p> <%= @comment.content %> </p> <% end %> </div>
route.rb
Rails.application.routes.draw do root 'static_pages#home' get '/help', to: 'static_pages#home' get '/account', to:'static_pages#account' get '/signup', to: 'users#new' get '/login', to: 'sessions#new' post '/login', to: 'sessions#create' delete '/logout', to: 'sessions#destroy' resources :users resources :password_resets, only: [:new, :create, :edit, :update] resources :microposts, only: [:create, :destroy, :show] do resources :comments, only: [:create, :destroy] end end
試したこと
コンソール上では、comment.new や comment.createができることは確認しました。
補足情報(FW/ツールのバージョンなど)
環境は以下の通りです。
Rails 6.0.3.4
ruby 2.7.1p83
vscodeを使用しております。
パソコンはmac book airです。
プログラミングの学習を始めたのですが、コメントの表示ができず困っております。
たくさんの方のネット上のソースコードの確認をさせていただき試したのですが表示できずこちらにて質問させていただきました。
どうぞよろしくお願いいたします。
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/31 11:02
2020/11/02 15:53
2020/11/03 12:53
2020/11/03 12:54
2020/11/04 07:02
2020/11/15 09:42