Ruby on rails 钩入Rails模型生成器
我正在尝试在rails 4应用程序中创建客户生成器。我跑Ruby on rails 钩入Rails模型生成器,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在尝试在rails 4应用程序中创建客户生成器。我跑 rails g generator bootstrap 这在lib/generators/bootstrap中创建了一些文件。包括bootstrap\u生成器.rb class BootstrapGenerator < Rails::Generators::NamedBase source_root File.expand_path('../templates', __FILE__) end 类BootstrapGenera
rails g generator bootstrap
这在lib/generators/bootstrap
中创建了一些文件。包括bootstrap\u生成器.rb
class BootstrapGenerator < Rails::Generators::NamedBase
source_root File.expand_path('../templates', __FILE__)
end
类BootstrapGenerator
我希望在运行
rake g model…
时将此生成器连接到。我该如何实现这一点呢?我认为这不是一个干净的解决方案,但无论如何都是可行的:
config/application.rb
module YourApp
class Application < Rails::Application
config.generators do |g|
g.orm :concerns # to get run our generator under ActiveRecord
g.test_framework :rspec
end
end
end
require 'rails/generators/active_record/model/model_generator'
module Rails
module Generators
hide_namespace 'concerns'
class ConcernsGenerator < ActiveRecord::Generators::ModelGenerator
source_root "#{base_root}/active_record/model/templates"
def create_concern_file
create_file "app/models/concerns/#{file_name}_concern.rb", <<-FILE
class #{class_name}Concern
end
FILE
end
def create_concern_spec
create_file "spec/models/#{file_name}_concern_spec.rb", <<-FILE
require 'spec_helper'
describe #{class_name}Concern
pending "add some examples to (or delete) #{__FILE__}"
end
FILE
end
end
end
end
我认为rails生成器在rails 3和rails 4之间没有太大变化,因此这些railscasts应该仍然有用:
rails g…
时,我想基于这个m创建一个额外的文件odel类似于rspec创建相应的model_spec.rb文件的方式好吧,你是如何找到方法的?rails网站上有没有我错过的明确指南?它深入分析了子系统是如何工作的。每件事都围绕着源代码
$ rails g model Product name:string description:text
invoke concerns
create db/migrate/20131005122831_create_products.rb
create app/models/product.rb
invoke rspec
create spec/models/product_spec.rb
create app/models/concerns/product_concern.rb
create spec/models/product_concern_spec.rb