accepts_nested_attributes_for のメモ

 忘れやすいので、 accepts_nested_attributes_for の使い方についてメモ。

 Company に複数の Employees がいるとき。

class Company
has_many :employees
accepts_nested_attributes_for :employees
end
 
class Employee
  belongs_to :company
end

View で、下記のように fields_for を使う。Company作成時に、1人の Employee を同時に作る時の例

< %= form_for @company do |f| %>
  name < %= f.text_field :name %><!-- Company の name -->
  < %= f.fields_for :employees do |employee_form| %>
    employees name %lt;%= employee_form.text_field :name %><!-- Employee の name -->
  < % end  %>
  < %= f.submit "Create" %>
< % end %>

コントローラでは、特に何もしなくていいです。

def create
  @company = Company.create!(params[:company])
  redirect_to @company
end
accepts_nested_attributes_for のメモ