生成与模型名称不同的脚手架

时间:2011-11-23 17:29:28

标签: ruby-on-rails-3 controller scaffolding

对于具有与我的模型名称无直接关联的不同名称的现有模型,是否可以生成和支架?

假设我有这个模型Post,我已经有一个名为posts_controller的控制器,但我有一堆我已经使用的方法,但是我需要时间生成一个脚手架,通过模型Post填写我的表格帖子但是如果我尝试

rails g scaffold Post field:type.... --skip--migration

生成器仍然希望创建一个名为posts_controller的控制器,可以指定控制器名称它使用/生成类似于:my_awesome_scaffold_controller的内容?

感谢。

=======更新========

我希望my_awesome_scaffold_controller中的内容是我的模型帖indexneweditshow,{{1}的完整支架我没有使用create的{​​{1}}模型,updatedelete已被用于其他人所做的其他事情,我不想搞砸代码那里。

1 个答案:

答案 0 :(得分:1)

好吧......我不相信你所做的比仅仅更好,比如将现有的posts_controller移到其他地方(比如图书馆或其他什么),但要坚持你实际要求的东西。 。

一个选项(如果您不介意将操作添加回posts_controller)

  1. 将“post_controller.rb”复制到其他地方
  2. 按照正常情况使用“post”运行脚手架(将命名为posts_cotroller.rb)
  3. 将“posts-controller.rb”重命名为“my_awesome_posts_controller.rb”
  4. copy back posts_controller.rb
  5. 将所有内容从“my-awesome”中拉出来并将其粘贴到现有posts_controller.rb的顶部/底部
  6. 显然,如果posts_controller已经有任何RESTful操作,这将不起作用 - 这也意味着你和另一个人正在处理同一个文件(尽管可能是不同的区域)。

    或者,您可以为脚手架命名空间。与admin/posts_controller.rb相似(或在您的情况下:my_awesome/posts_controller.rb

    这里有一个旧教程:http://icebergist.com/posts/restful-admin-namespaced-controller-using-scaffolding 无法保证它对你有多好/相关。