【发布时间】:2013-10-05 14:27:51
【问题描述】:
我需要在脚手架生成时为 i18n 添加一些翻译。我想知道:除了默认值之外,是否有可能强制 rails g scaffold 调用我自己的生成器?
如果没有,我如何在我的生成器中调用默认的 Rails 生成器(例如 active_record)?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3
我需要在脚手架生成时为 i18n 添加一些翻译。我想知道:除了默认值之外,是否有可能强制 rails g scaffold 调用我自己的生成器?
如果没有,我如何在我的生成器中调用默认的 Rails 生成器(例如 active_record)?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3
根据the doc here,您可以使用您的生成器中的generate 来调用另一个生成器。
generate a_generator_name, args_as_string
class FooGenerator < Rails::Generators::Base
argument :attributes, :type => :array
def call
do_your_stuff
run_scaffold
end
private
def do_your_stuff
end
def run_scaffold
generate 'scaffold', attributes.join(' ')
end
end
【讨论】:
scaffold,你可以这样做:generate 'scaffold', args_as_string