微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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模型

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐