Rails2.xでnamespaceを使ったhas_manyなresourcesのform_forの書き方の覚書。実際のアプリのリアルな例から。

管理画面の霊園(cemetery)の区画(compartment)のCRUDフォームを作りたい。

url:

http://localhost:3000/admin/cemeteries/1/compartments
http://localhost:3000/admin/cemeteries/1/compartments/new
http://localhost:3000/admin/cemeteries/1/compartments/1/edit

routes:

map.namespace :admin do |admin|
  admin.resources :cemeteries, :has_many => :compartments
end

_form.html.erb:

<% form_for [:admin, @cemetery, @compartment] do |f| %>
 ~
<% end %>

モデルのhabtmやhas_many :throughやroutesのresoucesやnamespaceをちゃんと使うと複雑なデータの相関関係も綺麗に書けて嬉しいですな。ただ、Scaffoldがこれらに対応してないので今後のアップデートに期待したいです。

2008/05/01 修正:form_forのところが間違っていたので修正しました。

Comments


Option