2012-02-09 40 views
7

Tôi muốn chạy một máy phát điện từ một viên ngọc bất cứ khi nào một trình tạo mô hình được gọi.Rails: Hooking vào máy phát điện ORM

Sau đây

require 'rails' 

module Mygenerator 
    class Railtie < Rails::Railtie 

    config.app_generators.orm :my_generator 

    end 
end 

gọi đúng máy phát điện của tôi tuy nhiên trình tạo bản Rails' không chạy nữa.

Tôi giả sử rằng tôi có thể chạy trình tạo gốc thông qua invoke, nhưng điều đó có vẻ quá phức tạp. Và làm thế nào về tất cả các máy phát điện khác của ORM?

Có cách nào tốt hơn để "đính kèm" trình tạo của tôi vào máy phát hiện có không?


Cập nhật:

này một cách tự nhiên hoạt động - nhưng tôi vẫn hy vọng cho một cái gì đó sạch:

module Rails 
    module Generators 
    class ModelGenerator < NamedBase 

     def run_my_custom_generator 
     invoke "my_generator:foo" 
     end 

    end 
    end 
end 

Trả lời

0

Làm thế nào về một cái gì đó như thế này

require 'rails' 

class Rails::Generators::ModelGenerator 
    include Mygenerator::full_namespace_here::class 
    extend Mygenerator::full_namespace_here::ClassMethods 
end 
+0

Cảm ơn gợi ý - Tôi sẽ xem nếu điều này sẽ làm việc trong bối cảnh của tôi. – polarblau

Các vấn đề liên quan