フォーム投稿時にメンバーのidとコメントのidを紐付けて保存したい
中間テーブルとmemberのテーブルにデータが保存できない
発生している問題・エラーメッセージ
ArgumentError in CommentsController#new Unknown key: :allow_destory. Valid keys are: :allow_destroy, :reject_if, :limit, :update_only
該当のソースコード
model
1class MemberComment < ApplicationRecord 2 belongs_to :member 3 belongs_to :comment 4end 5
model
1class Member < ApplicationRecord 2 has_many :use_members 3 has_many :user, through: :user_members 4 has_many :member_comments 5 has_many :comments, through: :member_comments 6end
model
1class Comment < ApplicationRecord 2 has_many :user_commnents 3 has_many :user, through: :user_comments 4 has_many :member_comments 5 has_many :member, through: :member_comments 6 accepts_nested_attributes_for :member_comments, allow_destroy: true 7end
controller
1class CommentsController < ApplicationController 2 def index 3 @comments = Comment.all 4 end 5 6 # def show 7 # end 8 9 def new 10 @comment = Comment.new 11 @comment.member_comments.build 12 end 13 14 def create 15 @comment = Comment.new(comment_params) 16 if @comment.save 17 redirect_to comments_path 18 else 19 render :new 20 end 21 end 22 23 def update 24 end 25 26 def destory 27 end 28 29 private 30 def comment_params 31 params.require(:comment).permit(:place, :text, :image_url, member_comments_attributes:[:member_id]) 32 end 33end 34
haml
1.contents 2 .form 3 = form_for @comment do |f| 4 = fields_for :members do |m| 5 = m.collection_select :member_id, Member.all, :id, :name, include_blank: true 6 = f.text_field :place, class: 'form__place', placeholder: '観光地を入力してください' 7 = f.text_area :text, class: 'form__review', placeholder: '感想(コメント)を入力してください' 8 = f.text_field :image_url, class: 'form__image', placeholder: '画像のURLを貼り付けてください' 9 = f.submit
試したこと
中間テーブルのモデルにvalidate: member_comment_id, presence: true
を入れてみたがSyntaxError のエラーが出る
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/24 12:13
2019/11/24 22:42
2019/11/25 01:31