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| %>

这不起作用,因为 rails 抱怨该路线无效。是否可以有没有网址的路线?如果没有,我该如何清理我的路线文件?

4

1 回答 1

0

simple_form_for调用仍然需要一个 URL,即使您的用户永远不会直接使用它。

您可以在代码本身中看到这一点,因为您发送到simple_form_for的选项之一是要使用的 URL 的选项:

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