Railsでadminとかのnamespaceでくくわれたリソースへアクセスするときのform_forがなんかめんどかったときの対処
どゆことかというと、
config/routes.rb的に、
namespace :admin do resources :users end
ときとかの、newアクションやeditアクションで用いられる、
scaffold的にいうと、_form.html.erb内のform_forメソッドは、
普段は、
form_for(@user) do |f|
とかって感じで、
オブジェクトの指定からさらに新規(create)なのか、
更新(update)なのか判別して、
url(行き先のアクション)までセットしてくれてる訳ですが、
namespaceを使って階層になってると、
form_for(@user, :url=>admin_user_path(@user)) do |f|
とかって、
行き先のアクションを直接指定することもできるけど、
こうすると新規と更新で別のパスを指定する必要が出てきて、
せっかくの_form.html.erb切り出して共通化してたのが、台無し!になるから、
どうしたものかーと思っていたら、
form_for([:admin, @user]) do |f|
って感じで配列で階層を表現できるらしい!
助かりました!