Einfache Railtie Erweiterung der Active Record
-
27-09-2019 - |
Frage
Ich bin ein Rails 3.0.3 Juwel zu schaffen und kann nicht an der Arbeit:
# attached.rb
module Attached
require 'attached/railtie' if defined?(Rails)
def self.include(base)
base.send :extend, ClassMethods
end
module ClassMethods
def acts_as_fail
end
end
end
# attached/railtie.rb
require 'attached'
require 'rails'
module Attached
class Railtie < Rails::Railtie
initializer 'attached.initialize' do
ActiveSupport.on_load(:active_record) do
ActiveRecord::Base.send :include, Attached
end
end
end
end
ich undefined local variable or method 'acts_as_fail'
wenn ich acts_as_fail
jedem meiner ActiveRecord
Modelle hinzufügen. Bitte Hilfe! Ich bin sehr zufrieden mit diesem scheinbar trivialen Code frustriert! Dank!
Lösung
Sie definieren self.include
(4. Zeile nach unten), wenn die richtige Methode self.included
ist.
Andere Tipps
Sie können den Code vereinfachen, indem extend
mit direkt:
# attached.rb
module Attached
require 'attached/railtie' if defined?(Rails)
def acts_as_fail
end
end
# attached/railtie.rb
require 'attached'
require 'rails'
module Attached
class Railtie < Rails::Railtie
initializer 'attached.initialize' do
ActiveSupport.on_load(:active_record) do
ActiveRecord::Base.send :extend, Attached
end
end
end
end
Dies ist ein gutes Buch: http://yehudakatz.com/2009/11/12/better-ruby- Idiome /
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow