2012-01-30 37 views
0

我正在使用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 

所以當客戶點擊結賬,我希望他們進入的順序,電子郵件,地址和paytype名稱多數民衆贊成。 user_id將通過隱藏字段使用當前登錄的用戶方法捕獲。 (如果有更好的方法,請告訴我)。對不起,如果這不是很好解釋

+0

請出示你到目前爲止的代碼。另外,通過一個隱藏的表單字段來設置'user_id'是一個非常糟糕的想法。它是完全不安全的並且允許任何人欺騙用戶ID。而是使用會話來存儲登錄用戶的user_id。 – 2012-01-30 12:32:37

+0

你希望看到哪部分代碼?訂單或地址的表單?我的控制器?我的模特? – 2012-01-30 13:04:35

回答

0

你需要看看accept_nested_attributes和嵌套形式。

或者只是看一些代碼here,例如,

,這裏要注意的主要事情是:

  • accepts_nested_attributes_for
  • f.fields_for :地址do | address |將需要渲染的嵌套形式
  • @ order.save控制器將保存所有嵌套數據