脚手架代

时间:2011-01-17 06:28:13

标签: ruby-on-rails ruby

以下是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的控制器?

4 个答案:

答案 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/generaterails generate scaffold的不一致。

答案 3 :(得分:0)

在Rails中生成管理脚手架肯定存在一些问题。问题的关键是默认的rails scaffold生成器创建了命名空间资源,包括命名空间模型,这不是很有用,因为模型通常用于管理区域和公共区域。

我也遇到了这个问题,没有找到标准解决方案。

所以,我创建了rails-admin-scaffold gem(现在它只是Rails 4),它自动化了这个过程并写了an article更详细的解释。虽然我的答案很少过时,但其他人可能会找到合适的解决方案。