form_forにARでないオブジェクトを渡すときのパス

formタグからの入力をするクラスをActiveModel::Modelで作って、form_forであれこやろうとするときに:urlを指定しなきゃならなくて、という話。

あれ、ヘルパー作ればいいんじゃない?って思ったんだけど、検索してもいまいち出てこないね。

class FugaForm
  include ActiveModel::Model
end

のときself.nameを定義したりしてなければFugaFormオブジェクトの名前はfuga_formになる。persisted?の定義がなければパス生成の際に複数形が選択されてfuga_forms_pathが参照される。

なので

def fuga_forms_path(*args)
  url_for(controller: controller_name, action: action_name)
end

あたりでどうかしらと。