我有一个产品列表,每个产品都有一个添加到购物车按钮,该按钮重定向到 line_items 控制器路径。
line_items_controller.rb 中的操作代码
def create
item = Item.find(params[:item_id])
@line_item = @cart.line_items.build(item: item)
respond_to do |format|
if @line_item.save
format.html { redirect_to @line_item.cart, notice: 'Line item was successfully added.' }
format.json { render :show, status: :created, location: @line_item }
else
format.html { render :new }
format.json { render json: @line_item.errors, status: :unprocessable_entity }
end
end
end
需要将什么哈希传递给.build()才能将产品添加到购物车?
理论上,你需要传递产品参数的hash,但是无论我如何尝试传递它,它都行不通。现在它给出了错误不能写未知属性item_id
问题解决了。底线是错误的line_items迁移文件,因为 指定了错误的名称。
而是
t.references :item写了t.references :product所以我制作
rake db:rollback并更正了迁移文件。