如何从Rails中的一个表单保存到两个表

时间:2013-02-08 16:34:57

标签: ruby-on-rails-3

我有一个常规的用户信息表格,如下所示:

<%= form_for(@user, :html => { :class => "form-horizontal" }) do |f| %>
    <%= f.text_field :last_name %>
    ...
    <%= f.submit "Submit", class: "btn btn-primary", :name => "submit_button" if @user.last_step? %>
<% end %>

我在表单中也有一些非用户字段。这是一个例子:

<%= f.label "When is your birthday?" %>
<%= select_tag "month" %>
<%= select_tag "day" %>
<%= select_tag "year" %>

如何将其保存到与用户不同的表格?

1 个答案:

答案 0 :(得分:0)

如果您要更新用户以外的模型,则应该使用accepts_nested_attributes_forfields_for。另一种方法是在create UsersController的{​​{1}}行动中开展工作,即:

def create
  @user = User.create params[:user]
  @foo = Foo.find params[:foo_id]
  @foo.date = Date.new(params[:foo_year], params[:foo_month], params[:foo_day])
  ...
end