Мой гем прекрасно работает с Rails 2.3 (используя Bundler), но я не могу загрузить его в Rails 3.
my_app / Gemfile:
gem 'mygem', '>= 0.1.0', :path => '../mygem/'
Iзнаю, что он найден, потому что мне удалось заставить его «работать» один раз.
Я прочитал между строк многих постов в блогах и билетов рельсов, что rails/init.rb
устарело, а верхний уровень init.rb
должен бытьиспользуется, что требует основной файл lib.Тем не менее, ни один из них не выполняется, если я не require 'my_gem'
явно в моем приложении Rails.Вот как это выглядит в данный момент:
mygem / init.rb`:
require File.join(File.dirname(__FILE__), 'lib', 'my_gem')
raise StandardError, "derailed!"
mygem / lib / my_gem:
require 'my_gem/template_handler'
raise StandardError, "derailed!"
module MyGem
class Railtie < Rails::Railtie
raise StandardError, "derailed!"
initializer "template handler registration" do
raise StandardError, "derailed!"
ActionView::Template.register_template_handler :act, TemplateHandler
end
end
end
ActionView::Template.register_template_handler :act, TemplateHandler
Я загромождал все заявлениями о повышении ... тот факт, что ни одно из них не было поднято, заставляет меня думать, что все мои попытки зарегистрировать мой обработчик шаблонов были тщетными ...;)
У меня заканчиваются идеи загрузить свой драгоценный камень.my_gem/lib
в $LOAD_PATH
, все вроде нормально.