Rails で、一つのフォームで複数のモデルを扱う

先日のRails講習で、いいことを学んだので忘れないうちにメモです・・。

Rails では、基本、一つの Form に一つの Model なのですが、 fields_for というヘルパーを使用することで複数のモデルを扱えます。

一対一のモデルを一度に更新する場合などに使えそうです。

  <% form_for @person, :url => { :action => "update" } do |person_form| %>
    First name: <%= person_form.text_field :first_name %>
    Last name : <%= person_form.text_field :last_name %>

    <% fields_for @person.permission do |permission_fields| %>

      Admin?  : <%= permission_fields.check_box :admin %>
    <% end %>
  <% end %>

参考:Rails Framework Documentation

ラベル:

0 Comments:

Add a comment