创建rails 3发电机

时间:2011-04-09 08:25:41

标签: ruby-on-rails activerecord ruby-on-rails-3

我正在创建一个rails生成器:

class TaggableGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('../templates', __FILE__)

  hook_for :orm, :as => "model"
end

一切正常,但我想设置在模型中创建的字段并创建多个模型,我找不到任何关于如何做的事情(我从上面看代码设计器得到了代码)我喜欢通用(但不是那么重要)。

1 个答案:

答案 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