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のところが間違っていたので修正しました。