Witam, mam model DatabaseItem < (dziedziczy standardowo po ActiveRecord::Base). Stworzyłem sobie plugin. W init.rb daję require “costam”. W lib/costam.rb daję require “mojplugin/database_item”. W lib/mojplugin/database_item.rb mam kod mniej więcej tej postaci
[code]module Mojmodul
module InstanceMethods
def funkcja
“abc”
end
end
end
DatabaseItem.send(:include, MojModul::InstanceMethods)[/code]
I teraz w konsoli MOGĘ odwołać się np. do DatabaseItem.find(:first).funkcja
W kontrolerze piszę sobie (gdzie “item” to jakiś obiekt tej klasy)
item.send("funkcja")
i mi wywala, że takowej nie ma. Korzystam z send, bo w prawdziwym przypadku nazwa funkcji jest generowana. Zauważyłem, że pomaga dopisanie w kontrolerze
DatabaseItem.send(:include, MojModul::InstanceMethods)
wtedy widzi ją OK.
O co chodzi? Czemu dopisanie tego w skrypcie inicjalizowanym przy starcie aplikacji działa w konsoli a w kontrolerze nie?
Liczę na Waszą pomoc, bo trochę głupieję, nie mogę się doszukać, gdzie jest problem.