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
あたりでどうかしらと。