以下是Ruby On rails的摘录实用程序员:
以下命令对新的Rails不起作用,在脚本文件夹中我只有文件Rail。
ruby script/generate scaffold Product Admin (Product: Model and Admin: Controller)
我能得到的最接近的指令是使用以下内容:
rail generate scaffold Product Admin:controller
但我得到的是Product是控制器而Admin不是任何东西。
如何生成脚手架产品管理员,产品是模型,管理员是新Rails的控制器?
答案 0 :(得分:1)
rails generate controller Admin
rails generate model Product
答案 1 :(得分:1)
如果你真的想为此使用脚手架,我建议你重命名你的控制器(文件+类名)。但请考虑是否例如管理员命名空间可能无法执行您想要的操作。
如果您的控制器被称为admin controller
而模型product
,您的结构将变得难以理解,因为您必须像这样访问资源
/admin/ # -> returns all products
/admin/new # -> form for new product
/admin/23 # -> product with id 23
明白我的意思?
答案 2 :(得分:1)
你有这本书的哪个版本?听起来你有第3版(Rails 2.x)并且你在你的机器上使用Rails 3,这可以解释script/generate
与rails generate scaffold
的不一致。
答案 3 :(得分:0)
在Rails中生成管理脚手架肯定存在一些问题。问题的关键是默认的rails scaffold生成器创建了命名空间资源,包括命名空间模型,这不是很有用,因为模型通常用于管理区域和公共区域。
我也遇到了这个问题,没有找到标准解决方案。
所以,我创建了rails-admin-scaffold gem(现在它只是Rails 4),它自动化了这个过程并写了an article更详细的解释。虽然我的答案很少过时,但其他人可能会找到合适的解决方案。