Как инициализировать Gem в Rails 3?Как зарегистрировать обработчики шаблонов? - PullRequest
2 голосов
/ 30 декабря 2010

Мой гем прекрасно работает с 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, все вроде нормально.

...