0

routes.rb には、次のようなルートがたくさんあります。

post 'events/form1'=> 'events#form1', :as => 'events_form1'
post 'events/form2'=> 'events#form2', :as => 'events_form2'
post 'events/form3'=> 'events#form3', :as => 'events_form3'

これらのコントローラー アクションは、フォームからのデータを処理します。ユーザーが URL でこれらのアクションにアクセスする必要は決してないので、次のようなことをしたかったのです。

post 'events#form1'

そして、私の形で、書きます

<%= simple_form_for :something, :url => url_for{:controller => 'events', :action => 'form1'}, :method => "post" do |f| %>

レールがルートが無効であると不平を言うため、これは機能しません。URLなしでルートを持つことは可能ですか? そうでない場合、routes ファイルをクリーンアップするにはどうすればよいですか?

4

1 に答える 1

0

simple_form_forユーザーが URL を直接使用しない場合でも、呼び出しには URL が必要です。

simple_form_for送信先のオプションの 1 つは、使用する URL のオプションであるという点で、コード自体でこれを確認できます。

:url => url_for{:controller => 'events', :action => 'form1'}
于 2013-07-17T14:07:40.330 に答える