ruby on rails - how - ¿Cómo extraigo Rails view helpers en una joya?
render a partial rails (3)
Tengo un conjunto de herramientas de vista de rieles que utilizo regularmente, y me gustaría empaquetarlas en una gema, de modo que pueda poner una línea en mi Gemfile y tener acceso a los ayudantes desde mi punto de vista.
He creado gemas antes de utilizar Bundler y Joyero, sin embargo, no tengo muy claro cómo organizar los ayudantes de vista de Rails en una gema, e incluirlos en los rieles.
Agradecería cualquier sugerencia o enlaces a tutoriales actualizados sobre cómo hacer esto para Rails 3
Gracias
Solo para aclarar: la pregunta no es sobre "cómo crear una gema". Es "cómo empacar ver ayudantes en una gema, así puedo usarlos en Rails"
Editar 2: También estoy de acuerdo con el cartel de abajo ... Un motor de rieles es demasiado caro para este tipo de requisito (con suerte simple)
Además, si desea incluir helper solo para la versión de Rails3, puede usar
# lib/my_gem.rb
require ''my_gem/railtie'' if defined?(Rails::Railtie)
En mi opinión, un Engine completo es excesivo para esta tarea. En su lugar, puede crear un Railtie que incluya sus ayudantes en ActionView :: Base cuando se inicialice.
# 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)
Lo que probablemente estés buscando es un engine . Un motor es una gema que contiene piezas de aplicación de rieles (de hecho, una aplicación de rieles es en sí misma un motor).