Rails:使用has_one关系设置表单输入

时间:2012-08-27 14:50:33

标签: ruby-on-rails forms has-one

在我的rails应用程序中,我在User表(专用于身份验证目的)和Store表(包含商店信息,如名称,描述等)之间存在关系。

我映射了这两个模型:

  • 用户has_one:store

  • Store belongs_to:user

在注册阶段,我需要询问身份验证信息(我正在使用Devise gem),如电子邮件和密码,以及商店名称。这意味着我想使用相同的表格填充两个连接的表(用户和商店)!

ERB(或Haml)表单是如何形成的,特别是对于商店名称部分?

我试过这个,但它不起作用(更具体地说,是要求商店名称的行):

= form_for(resources, :as => resource_name, :url => registration_path(resource_name)) do |f|
    = f.text_field :store[:name]
    = f.email_field :email
    = f.password_field :password
    = f.submit "Create"

提前致谢,

1 个答案:

答案 0 :(得分:1)

您可以使用fields_for

= f.fields_for :store do |store_field|
  = store_field.text_field :name

在您的用户模型中:

accepts_nested_attributes_for :store