我正在创建一个rails生成器:
class TaggableGenerator < Rails::Generators::NamedBase
source_root File.expand_path('../templates', __FILE__)
hook_for :orm, :as => "model"
end
一切正常,但我想设置在模型中创建的字段并创建多个模型,我找不到任何关于如何做的事情(我从上面看代码设计器得到了代码)我喜欢通用(但不是那么重要)。
答案 0 :(得分:1)
以下是一些可能对您有帮助的链接:
http://railscasts.com/episodes/218-making-generators-in-rails-3
http://guides.rubyonrails.org/generators.html
基本上你只需要在你的类中添加方法来做你想做的事情(调用生成器时会调用所有公共方法),这是rails来源的一个例子:
class AssetsGenerator < Rails::Generators::NamedBase
source_root File.expand_path("../templates", __FILE__)
def copy_stylesheet
copy_file "stylesheet.css", File.join('app/assets/stylesheets', class_path, "#{file_name}.css")
end
end
copy_file来自Thor,你会看到Thor参考中的可用方法列表:http://textmate.rubyforge.org/thor/Thor/Actions.html