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

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...