我正在创建一个我在表单中使用的活动记录关联。我有两个模型和一个表格。我正在同时创建customer_order
和payment
。这一切都按计划进行,我遇到的问题是我想将user_id添加到Payments表中,它将它完美地添加到customer_order。
@customer_order.payments.build(:payment_amt => @mailer.full_price, :user_id => current_user.id)
当我点击表单上的创建时,我将丢失user_id
。我知道我不想将user_id存储在表单中的隐藏字段中。但是当程序击中创建时。我想在保存之前(理想情况下)或之后添加user_id
。
我可以将其保存在customer_order
中,但不知道如何将其保存在Payment
表中。
@customer_order.user_id = current_user.id
@customer_order.save
我是铁杆新手,所以对我很轻松。
答案 0 :(得分:0)
如果for (j = 0; j < height; j++)
for (int i = 0; i < width; i++)
{
t3 = (j * width + i) * 3;
t4 = (j * width + i) * 4;
在您的新控制器操作中,那么您不会保留它,因此正在设置属性@customer_order.payments.build(:payment_amt => @mailer.full_price, :user_id => current_user.id)
,并且在呈现新模板时,表单构建器可以访问该属性。当您提交表单时,您正在发出新请求,因此需要使用隐藏字段将user_id
参数提交回创建操作。
如果您只想为user_id
创建付款,那么您可以在创建操作中关联用户。
如果上面的所有代码都在创建操作中,那么在调用current_user
关联的父级保存时也应该保存付款,可以找到更多信息here