rails how content_for application ruby-on-rails ruby-on-rails-3 rubygems gem actionview

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).