lul*_*ala 4 ruby-on-rails ruby-on-rails-3
我有一个名为的模型Person,我希望有一个名为的资源Employee.我发现这会阻止form_for魔法.
我需要传入@person对象本身,因此form_for可以选择正确的操作路径(创建或更新).
然而,这将意味着form_for使用POST people_path和PUT person_path输出,而不是employee_paths.
当我的模型和控制器有不同的名称时,是否可以拥有所有Rails约定的好东西?
jbm*_*yid 11
如果你想在路线/网址中使用"雇员",你可以在路线中使用"路径",例如.创建控制器作为people_controller但在路由中
resources :people, path: "employees"
Run Code Online (Sandbox Code Playgroud)
所以路线就像
new_person GET /employees/new
people GET /employees
Run Code Online (Sandbox Code Playgroud)
等等
所以下面的工作
<%= form_for @people do |f| %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
注意:为此,您必须使用Person模型
你可以添加一个选项:url:employee_path
例如
<%= form_for @people, :as => :post, :url => employee_path(@people) do |f| %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6556 次 |
| 最近记录: |