Ruby on rails Rails3:在自定义生成器中生成模型
嘿,伙计们,我正在Rails 3.0.3中编写一个自定义Generatornamed shcaffold,我希望它根据传入模型名称的第一个参数生成一个活动记录模型和迁移 但是,当我运行该命令时,会出现以下错误:Ruby on rails Rails3:在自定义生成器中生成模型,ruby-on-rails,Ruby On Rails,嘿,伙计们,我正在Rails 3.0.3中编写一个自定义Generatornamed shcaffold,我希望它根据传入模型名称的第一个参数生成一个活动记录模型和迁移 但是,当我运行该命令时,会出现以下错误: $ rails g shcaffold someclass error active_record [not found] 以下是我的生成器定义,存储在lib/generators/shcaffold/shcaffold_generator.rb中: class Shcaffo
$ rails g shcaffold someclass
error active_record [not found]
以下是我的生成器定义,存储在lib/generators/shcaffold/shcaffold_generator.rb中:
class ShcaffoldGenerator < Rails::Generators::NamedBase
include Rails::Generators::ResourceHelpers
source_root File.expand_path('../templates', __FILE__)
# Run Other Generators
hook_for :model, :in => :rails, :required => true
end
但是,唉,我一点运气都没有 没有详细的答案,但你应该从中得到启发:另一个类似的问题,关于错误活动记录[not found]在下面区域的痛苦= 在这里: 如何解决: 保持在Rails::Generators名称空间内 这已经解决了大多数未发现的问题 将生成器配置为默认值。生成器模型空间中的任意位置
module Rails
module Generators
class Railtie < ::Rails::Engine
if config.respond_to?(:app_generators)
config.app_generators.orm = :my_own_model
else
config.generators.orm = :my_own_model
end
end
end
end
而且你不会再有任何来自rails g的麻烦了
哎呀 酷,这是一个很好的开始。我想我可以根据自己的需要使用迁移模板。谢谢
module Rails
module Generators
class Railtie < ::Rails::Engine
if config.respond_to?(:app_generators)
config.app_generators.orm = :my_own_model
else
config.generators.orm = :my_own_model
end
end
end
end