2013-01-17 94 views
0

由于某些原因,当我在新的Rails应用上运行rails generate resource admin时,Rails生成了一个名为admins的资源。它是否有任何理由这样做?我希望资源被称为admin,而不是adminsRails将新资源名称复数化

这里是运行rails generate resource admin的输出:

invoke active_record 
create db/migrate/20130117002055_create_admins.rb 
create app/models/admin.rb 
invoke test_unit 
create  test/unit/admin_test.rb 
create  test/fixtures/admins.yml 
invoke controller 
create app/controllers/admins_controller.rb 
invoke erb 
create  app/views/admins 
invoke test_unit 
create  test/functional/admins_controller_test.rb 
invoke helper 
create  app/helpers/admins_helper.rb 
invoke  test_unit 
create  test/unit/helpers/admins_helper_test.rb 
invoke assets 
invoke  coffee 
create  app/assets/javascripts/admins.js.coffee 
invoke  scss 
create  app/assets/stylesheets/admins.css.scss 
invoke resource_route 
route resources :admins 
+0

你确实有一个名为admin的资源吗?或者,您打算使用哪个区域管理网站?如果是后者,则可能需要命名空间。 – Swards

+0

这是预期的。按照惯例,Rails假设'admin'是一个_single_资源的名称 - 你会注意到它创建了一个'Admin'模型(单数)。在我看来,你并不想让管理员成为一种资源,而是一种自定义路线。 – pje

回答

3

Rails的如下默认复数命名约定,如果你希望覆盖这一点,你可以使用自定义的变形规则或编辑enviroment.rb文件两种方式可以发现“How do I override rails naming conventions?”。