Comment puis-je extraire les aides de vue Rails dans une gemme?

J’ai un ensemble de rails avec les aides que j’utilise régulièrement et je voudrais les emballer dans un joyau, de telle sorte que je puisse simplement mettre une ligne dans mon Gemfile et avoir les assistants accessibles depuis mes vues.

J’ai créé des gemmes avant d’utiliser Bundler, et Jeweller, cependant, je ne suis pas tout à fait clair sur la façon d’organiser les aides de vues Rails dans une gemme et de les inclure dans des rails.

J’apprécierais tout pointeur, ou des liens vers des tutoriels à jour sur la façon de le faire pour Rails 3

Merci

Juste pour clarifier: la question n’est pas sur “comment créer un bijou”. C’est “comment emballer les aides de vue dans une gemme, donc je peux les utiliser dans Rails”

Edit 2: Je suis également d’accord avec l’affiche ci-dessous. Un moteur de rails est trop exagéré pour ce genre d’exigence (si simple).

À mon avis, un moteur complet est excessif pour cette tâche. Vous pouvez plutôt créer un Railtie qui inclut vos assistants dans ActionView :: Base lors de son initialisation.

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

Aussi, si vous voulez inclure l’aide uniquement pour la version Rails3 que vous pouvez utiliser

 # lib/my_gem.rb require 'my_gem/railtie' if defined?(Rails::Railtie) 

Ce que vous recherchez probablement est un moteur . Un moteur est un bijou qui contient des pièces d’application de rails (en fait, une application de rails est elle-même un moteur).