我有一个 Rails 应用程序,它有一个 Employee 模型、一个 Skill 模型和一个 Department 模型。
class Employee < ActiveRecord::Base
belongs_to :department
has_and_belongs_to_many :skills
attr_accessible :email, :firstname, :name, :twitter
end
class Skill < ActiveRecord::Base
has_and_belongs_to_many :employees
attr_accessible :name
end
class Department < ActiveRecord::Base
attr_accessible :name
end
我试图为此写下路线,但这就是我遇到麻烦的地方。
我认为这样做是有道理的
resources :employees do
resource :department
resources :skills
end
但是,我也希望能够独立创建技能和部门。我只需要能够将部门和技能“联系”到员工。像这样的路线是有意义的(/employees/:id/skills, /employees/:id/department),但就像我说的,我希望能够做到
/departments
/skills
/skills/new
ETC..
我可以做
EmployeeList::Application.routes.draw do
resources :departments
resources :skills
resources :employees do
resource :department
resources :skills
end
end
这为我提供了我想要的路线,但在我的 routes.rb 文件中列出两次资源看起来真的很糟糕。我该怎么做?