У меня есть одна модель :comment с двумя own_to, одна :post и другие :membre
я хочу сделать def create
с двумя варами @post_id и @membre_id
как поступить за один раз с двумя own_to ?
как разместить вар?
Спасибо за вашу помощь
def create
@comment = Comment.new(comment_params)
respond_to do |format|
if @comment.save
format.html { redirect_to @comment, notice: 'Comment was successfully created.' }
format.json { render :show, status: :created, location: @comment }
else
format.html { render :new }
format.json { render json: @comment.errors, status: :unprocessable_entity }
end
end
end
def comment_params
params.fetch(:comment, {})
end





С предоставленным вами кодом попробуйте (и я предполагаю, что membre_id — это member_id):
@comment = Comment.new(comment_params)
@comment.member_id = @member_id
@comment.post_id = @post_id
respond_to do |format|
if @comment.save
etc...
end
Однако есть гораздо более приятные способы сделать это. Если у вас есть переменная @member и @post, вы можете сделать:
@comment.member = @member
@comment.post = @post
Но лучше всего включить параметры в первую очередь. Когда пользователь создает комментарий, добавьте в форму два скрытых поля: member_id и post_id. Таким образом, вам не нужно вручную назначать идентификаторы.
Откуда взялись
post_idиmember_id? Является ли текущий пользователь участником? Где эта форма будет жить, на странице поста шоу?