可以生成脚手架将控制器放在命名空间中吗?

pup*_*eno 18 ruby-on-rails scaffold

我想在Rails应用程序中生成脚手架,像往常一样生成模型,但将控制器放在admin命名空间中.可能吗?

pup*_*eno 18

我第一次这样做,我跑了

script/generate scaffold blog
Run Code Online (Sandbox Code Playgroud)

然后重构控制器,视图等.目前我的首选解决方案是:

script/generate scaffold admin::blog
Run Code Online (Sandbox Code Playgroud)

然后重构模型,单元测试和迁移; 它的工作量减少了.

如果有更好的答案,我会接受它.

  • 在Rails> 3`trail g scaffold admin/blog` (8认同)
  • admin/blog对我来说效果稍好,但它只是一点点而且很可能完全是主观的. (2认同)

Con*_*lon 6

对于 Rails 6:

假设你有一个像这样的模型:

rails g model Foo name:string
Run Code Online (Sandbox Code Playgroud)

那么你可以这样做

rails g scaffold_controller Admin/Foo name:string --model-name="Foo"
Run Code Online (Sandbox Code Playgroud)

(指定模型名称会阻止控制器引用默认模型 Admin::Foo)

注意:这并不完美;您必须修复视图和测试中的一堆路径错误 - 但它可以让您完成 80% 的任务。


ilg*_*gam 5

您可以对<3的rails执行此操作

script/generate scaffold Blog title:string
Run Code Online (Sandbox Code Playgroud)

要么

script/generate scaffold admin::blog title:string
Run Code Online (Sandbox Code Playgroud)

对于> 3的导轨

rails g scaffold Blog title:string
Run Code Online (Sandbox Code Playgroud)

要么

rails g scaffold admin/blog title:string
Run Code Online (Sandbox Code Playgroud)