2012-03-09 196 views
4

如果我想更改在Rails中由脚手架创建的默认控制器模板,这很容易 - 在Google搜索后我发现我可以在controller/controller/lib/templates/rails/controller中放置一个controller.rb文件,以便代替它的默认值。如何更改Rails脚手架中的默认模型模板?

我找不到任何解释我可以在模型文件中做同样的事情。我不希望建立一个单独的发电机,我只是想:

> rails generate model foo 

根据model.rb模板,我做创建foo.rb模型文件。

回答

1

不知道这是一个伟大的想法,但你可以找到生成代码在这里:https://github.com/rails/rails/blob/master/railties/lib/rails/generators/rails/model/model_generator.rb

module Rails 
    module Generators 
    class ModelGenerator < NamedBase #metagenerator 
     argument :attributes, :type => :array, :default => [], :banner => "field[:type][:index] field[:type][:index]" 
     hook_for :orm, :required => true 
    end 
    end 
end 

根据this post但你应该能够把一个模板lib/templates/rails/model虽然你可能需要指定它通过根据to this

+0

呀rake任务所在,我没有尝试,它似乎没有接任何改变了,我到model_generator.rb文件所做的......也许我犯了一个错误的地方,因为这我也想到如何做到这一点...或者我没有弄清楚正确❖如何使该生成器使用我的模板文件(对于生成器还是很新的)。不过,我会重新审视一下这个解决方案,就像你在暗示的那样。 – 2012-03-10 00:42:45

+0

好的...所以我看了一下你参考的内容和链接,1)构建自己的生成器并使用它,2)我在原始文章中提到的,即将文件放置在正确的lib文件夹中其他的东西。所以,都没有帮助。问题是我能做些什么来从模板中拉出模型,就像我可以使用控制器和视图模板一样。我看到了生成器代码 - 我有一个复制副本用于在lib/templates/rails/model文件夹中进行更改 - 我无法弄清楚可以对此进行哪些更改以便让它拉入模板,或者如果可能的话。 – 2012-03-10 01:15:55