Как извлечь помощники вида Rails в драгоценный камень?
У меня есть набор рельсов для просмотра помощников, которые я использую регулярно, и хотел бы упаковать их в драгоценный камень, чтобы я мог просто поместить строку в свой Gemfile и получить доступ к помощникам из моих представлений.
Я создал драгоценные камни, прежде чем использовать Bundler и Jeweler, однако я не совсем понимаю, как организовать помощники вида Rails в драгоценном камне и включить их в рельсы.
Я был бы признателен за любые указатели или ссылки на современные учебники о том, как это сделать для Rails 3
Спасибо
Просто пояснить: вопрос не в том, "как создать драгоценный камень". Его "как упаковать помощники вида в драгоценности, поэтому я могу использовать их в Rails"
Изменить 2:
Я также согласен с плакатом ниже. Двигатель рельсов слишком сильно перегружен для такого рода (надеюсь, простого) требования
Ответы
Ответ 1
По-моему, полный Двигатель является излишним для этой задачи. Вместо этого вы можете просто создать Railtie, который включает ваши помощники в ActionView:: Base при инициализации.
# lib/my_gem/view_helpers.rb
module MyGem
module ViewHelpers
def pre(text)
content_tag :pre, text
end
def another_helper
# super secret stuff
end
end
end
# lib/my_gem/railtie.rb
require 'my_gem/view_helpers'
module MyGem
class Railtie < Rails::Railtie
initializer "my_gem.view_helpers" do
ActionView::Base.send :include, ViewHelpers
end
end
end
# lib/my_gem.rb
require 'my_gem/railtie' if defined?(Rails)
Ответ 2
Также, если вы хотите включить помощник только для версии Rails3, вы можете использовать
# lib/my_gem.rb
require 'my_gem/railtie' if defined?(Rails::Railtie)
Ответ 3
Что вы, вероятно, ищете, это engine. Двигатель - это жемчужина, которая содержит куски рельсов (на самом деле, приложение рельсов само по себе является двигателем.)