ruby-on-rails – Form_for,型号名称与控制器不同

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Form_for,型号名称与控制器不同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个名为Person的模型,我想拥有一个名为Employee的资源.我发现这将停止form_for魔术.

我需要传递@person对象本身,因此form_for可以选择正确的操作路径(创建或更新).

但是这意味着form_for在输出中使用POST people_path和PUT person_path,而不是employee_paths.

当我的模型和控制器有不同的名称时,是否可以拥有所有Rails约定的好东西?

解决方法

如果要在routes / url中使用“employees”,可以在路由中使用“path”
例如.
创建控制器作为people_controller但在路由中

resources :people,path: "employees"

所以路线就像

new_person GET    /employees/new
people GET    /employees

等等

所以下面的工作

<%= form_for @people do |f| %>
  ...
<% end %>

注意:为此,您必须使用Person模型

猜你在找的Ruby相关文章