我有一个名为Person的模型,我想拥有一个名为Employee的资源.我发现这将停止form_for魔术.
我需要传递@person对象本身,因此form_for可以选择正确的操作路径(创建或更新).
但是这意味着form_for在输出中使用POST people_path和PUT person_path,而不是employee_paths.
当我的模型和控制器有不同的名称时,是否可以拥有所有Rails约定的好东西?
解决方法
如果要在routes / url中使用“employees”,可以在路由中使用“path”
例如.
创建控制器作为people_controller但在路由中
例如.
创建控制器作为people_controller但在路由中
resources :people,path: "employees"
所以路线就像
new_person GET /employees/new people GET /employees
等等
所以下面的工作
<%= form_for @people do |f| %> ... <% end %>
注意:为此,您必须使用Person模型