在rails中的订单处理期间捕获地址信息

时间:2012-01-30 12:12:58

标签: ruby-on-rails forms models relationships

我正在使用rails构建一个电子商务应用程序,并希望对我的模型关系提供一些帮助,以及如何使用这些信息填充表格。

我有用户模型,订单模型和地址模型。我想在订单处理过程中捕获表单中的地址。 在我的订单模型中,我有user_id,pay_type,email,address_id和name。 在我的地址中,我有user_id,(然后是一些地址字段)。

关系是

order belongs_to a user

address belongs_to a user

address belongs_to an order

order has_one address

user has_many orders

user has_one address

因此,当客户点击结帐时,我希望他们输入订单,电子邮件,地址和付款方式上的名称。将使用当前登录的用户方法通过隐藏字段捕获user_id。 (如果有更好的方式让我知道)。对不起,如果没有得到很好的解释

1 个答案:

答案 0 :(得分:0)

您需要查看accepts_nested_attributes和嵌套表单。

或者只查看一些代码here,例如

这里要注意的主要事项是:

  • accepts_nested_attributes_for
  • f.fields_for:地址do |地址|将需要呈现嵌套表单
  • 控制器中的
  • @ order.save将保存所有嵌套数据