form_for中url路径的含义是什么?

use*_*363 3 ruby-on-rails ruby-on-rails-3

一个copy动作,copy.html.erb并在我们的rails 3.2 app中定义.此复制操作是从当前记录复制,允许用户稍微修改并提交创建就像new.这是标题copy.html.erb:

<%= form_for @engine_config, :as => :engine_config, :url => engine_configs_path do |f| %>
Run Code Online (Sandbox Code Playgroud)

点击后save,它会create在控制器中点击,这就是我们想要的.

我们这里的问题是engine_configs_path代表什么?通常engine_configs_path是索引.这里的表单用于创建而不是索引.创建表单上的索引路径的原因是什么?

Aca*_*cia 6

当你这样做时,bundle exec rake routes你会看到类似的东西;

engine_configs GET        /engine_configs(.:format)                               engine_configs#index
               POST       /engine_configs(.:format)                               engine_configs#create
Run Code Online (Sandbox Code Playgroud)

这意味着engine_configs_path既作品GETindex控制器动作,并POSTcreate控制器动作.

因此,engine_configs_path指的是表单在控制器中发布的URL.