如何在rails中的一个文件夹中管理相关的控制器?

时间:2012-12-17 11:10:25

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

在我的应用程序中有3个与employee相关的控制器。现在它们位于控制器文件夹中。

heronhrm/app/controllers
employeename_controller.rb
employeeaddress_controller.rb
employeelist_controller.rb

现在一切正常。现在我想在员工文件夹中列出所有员工相关的控制器,如

heronhrm/app/controllers/employees
employeename_controller.rb
employeeaddress_controller.rb
employeelist_controller.rb

现在我应该在我的代码中做什么更改才能在这种情况下工作,就像第一次一样。例如在我的视图,模型等中。

2 个答案:

答案 0 :(得分:1)

您必须将类名从Employeename更改为Employees :: Employeename(我建议将Employeename更改为Name,因为它是重复的),视图也应该在子目录“employees”中(我猜这里,但那应该是“Rails方式”)。这些模型并没有真正连接到控制器,应该保持不变。

答案 1 :(得分:1)

首先你需要像这样更新你的routes.rb:

namespace :employees do
  # all your employees routes here
end

然后,就像@andrjas所说,你必须在你的控制器名称前加上:

class Employees::EmployeenameController < ApplicationController
  # your code here
end

最后将您的观点移至文件夹app / views / employees /