有这些轨道广播。
http://railscasts.com/episodes/218-making-generators-in-rails-3有了这个,你会发现如何 创建样式表和脚手架生成器。
http://railscasts.com/episodes/216-generators-in-rails-3通过这个,你可以找到如何添加一些文件来修改脚手架视图。
我想混合两者。我想创建一个也创建脚手架视图的生成器。有点像Ryan Bates漂亮的发电机或web_app_theme宝石(https://github.com/pilu/web-app-theme)。我一直在寻找一个教程或一些信息,指出我正确的方向,但我找不到我正在寻找的东西。
我知道我很亲密。我已经知道如何使用Railcast 218创建一个生成器,但是现在,我如何才能创建视图文件呢?
我想运行这样的命令......
rails g my_scaffold_generator Post title:string body:text
答案 0 :(得分:9)
这可能为时已晚,无法提供帮助,但正如我在Google上搜索相同信息时发现的那样......
在我看来,最好的方法,至少是学习绳索,是复制,然后改变现有的脚手架发电机。
所以第一件让我失望的事情就是找到默认模板,这些模板不在你的rails-3.2.0
目录中(或者你所使用的任何版本),而是在railties-3.2.0
中。因此,对于我基于RVM的安装,他们在:
/Users/leo/.rvm/gems/ruby-1.9.3-p194@gemset/gems/railties-3.2.0/lib/rails/generators/
[注意:您的gems目录可能完全在其他地方,使用$> gem environment
查找您的宝石路径]
此处erb/scaffold/templates/
包含您期望的文件(new.html.erb
,_form.html.erb
等。)
您可以将这些文件复制到应用的根目录,复制到lib/templates/erb/scaffold/
,然后使用它们代替默认值。
如果要在自定义生成器中使用它们,有两种方法:
1)使用hook_for
从您的生成器调用常规ERB脚手架生成器。
2)使用copy_file
和类似方法in Thor移动/处理您自己的自定义生成器中的模板,将它们移动到位。
这方面有一个不错的Rails Guide,虽然我发现直到我开始在.../railties-3.2.0/lib/rails/generators/...
中挖掘并查看默认值的结构时我才真正得到它。