我有一个像has_many和belongs_to这样的关系:
class User < ActiveRecord::Base
belongs_to :family
end
class Family < ActiveRecord::Base
has_many :users
end
当新用户注册时,他们会填写User
模型的表单。我想要做的是使用表单中的Family
字段自动创建新的User.last_name
记录。 我不想提示他们填写表格中的任何家庭信息。
<% simple_form_for :user do |f| %>
<%= f.input :first_name %>
<%= f.input :last_name %>
<%= f.input :email %>
<%= f.input :password %>
<%= f.submit "Create My Account" %>
<% end %>
在相反的方向上,这将非常适合嵌套形式。但是,当您从孩子的表单创建父记录时,这是正确的解决方案吗?或者我应该在控制器的Family
操作中创建并关联User#create
吗?
答案 0 :(得分:0)
如果您没有要求他们提供表格中的任何家庭信息,那么您不需要表格中的任何内容。您可以在控制器“创建”操作中完成所有操作。
def create
@user = User.create(user_params)
@user.create_family(whatever_field: @user.last_name)
... etc
end