Rails两个模型之一形成如何向第二个模型添加字段

时间:2015-11-05 23:22:53

标签: ruby-on-rails ruby-on-rails-4

我正在创建一个我在表单中使用的活动记录关联。我有两个模型和一个表格。我正在同时创建customer_orderpayment。这一切都按计划进行,我遇到的问题是我想将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

我是铁杆新手,所以对我很轻松。

1 个答案:

答案 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