前提・実現したいこと
簡易的なレビューサイトを作成しており
post(レビュー)のcreate実行の際に以下のエラーメッセージが発生しました。
エラーの意味は理解しているのですが、パラメータで送るわけでもないnameがでできたのか分かりません
発生している問題・エラーメッセージ
NoMethodError in PostsController#create undefined method `name' for #<Post:0x0000559986dfb2c0>
該当のソースコード
Ruby
1posts_controller.rb 2 3def create 4 post = Post.new(post_params) 5 post.user_id = current_user.id 6 post.save 7 redirect_to posts_path 8 end 9 10def post_params 11 params.require(:post).permit(:title,:content,:rate,:image_id,:category_id,:user_id) 12 end
HTML
1<%= javascript_include_tag 'jquery.raty' %> 2<div class="post__main"> 3 <%= form_for @post do |f| %> 4 5 <%= f.label :image %> 6 <%= f.attachment_field :image %> 7 8 <%= f.label :title %> 9 <%= f.text_field :title %> 10 11 <div id="star"> 12 <%= f.label :rate,'評価 ' %> 13 <%= f.hidden_field :rate, id: :review_star %> 14 </div> 15 16 <script> 17 $('#star').raty({ 18 size : 36, 19 starOff: '<%= asset_path('star-off.png') %>', 20 starOn : '<%= asset_path('star-on.png') %>', 21 starHalf: '<%= asset_path('star-half.png') %>', 22 scoreName: 'post[rate]', 23 half: true, 24 }); 25 </script> 26 27 <%= f.label :content %> 28 <%= f.text_area :content %> 29 30 <%= f.label :category %> 31 <%= f.collection_select :category_id,@category,:id,:name %> 32 <%= f.submit '投稿' %> 33<% end %> 34</div> 35private 36 37
model
1post_model 2 3class Post < ApplicationRecord 4 belongs_to :user 5 belongs_to :category 6 has_many :likes 7 attachment :image 8 9 validates :name, presence: true 10 validates :content, presence: true 11 validates :rate, presence: true 12end
試したこと
binding.pryで調べたりしたが知識不足か原因が分かりませんでした。
Unpermitted parameter: :imageが発生しておりそれが関係している?
補足情報(FW/ツールのバージョンなど)
Rails 6.0.2
Ruby 2.5.7
初投稿且つ初級者であるため情報が不足している点もあると思います。
申し訳ございませんが少しでも知恵をお貸しいただけますと幸いです。
必要なデータ等有りましたらなるべく早く対応いたします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/30 15:39
2020/03/30 15:42
2020/03/30 15:57