我遗憾地遇到了这个问题,当我尝试创建一个Review时,Product_id保持为零。什么是最简洁的方法来填补我想要审查的产品?
Reviews_controller
def create
@user = current_user
@review = @user.reviews.new(params[:review])
if @review.save
redirect_to products_path, notice: 'Thank you for your review'
else
render 'new'
end
end
我的产品,评论和用户设置了has_many和belongs_to关系。
审查的新观点
%h1 Write a Review
= form_for @review do |f|
%fieldset
= f.label :review
= f.text_area :review
%fieldset
= f.label :rating
= f.text_field :rating
%fieldset
= f.submit 'Post Review', class: 'btn btn-large btn-primary'
我知道我找不到产品 - 我该怎么做?
答案 0 :(得分:0)
由于您是通过关联创建对象,因此使用build
@review = @user.reviews.build(params[:review])
将提取用户的ID并将其添加到评论对象中的user_id。我需要更多信息才能找到产品,您很可能会在评论表单中添加一个hidden_field,其中包含Products id
<%= hidden_field :product, @product.id %> #not sure how you are currently finding your product