我想知道如何在Rails 4.2中创建单例控制器。
例如rails g scaffold Dashboard
会产生dashboards_controller
女巫在我的情况下毫无意义,因为我只需要一个仪表板,所以dashboard_controller
就是我需要的东西。
我看到有一个选项-c
来指定控制器名称,不过我打赌有类似--singleton
但现在已经消失了。
所以,问题是,我应该使用-c
覆盖控制器名称还是"新的Rails方式"是创建多个控制器名称,如dashboards_controller
,然后使用路由器将其指向仪表板URL?
答案 0 :(得分:2)
我不知道如何使用生成器来完成它,但是很容易使用复数名称生成,然后手动将其更改为单数。
您的路线将是:
resource :dashboard, controller: 'dashboard', :only => ['show']
您的控制器类应重命名为DashboardController
,文件名本身应重命名为dashboard_controller.rb
。保存视图文件的视图文件夹也应该是单数 - app/views/dashboard
“Rails Way”默认使用多个控制器名称,但在有意义时使用奇异的控制器名称是很好的 - 在这种情况下他们肯定会这样做。
答案 1 :(得分:0)
rails g controller dashboard
似乎正在寻找。
$ rails g controller dashboard
create app/controllers/dashboard_controller.rb
invoke erb
create app/views/dashboard
invoke test_unit
create test/controllers/dashboard_controller_test.rb
invoke helper
create app/helpers/dashboard_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/dashboard.coffee
invoke scss
create app/assets/stylesheets/dashboard.scss