Я работаю над своим первым плагином Rails 3, чтобы создать простую вспомогательную функцию, которая мне нравится в ApplicationHelper
всех моих приложений. Вы можете увидеть весь код в Github.
Здесь моя первая попытка:
## lib/semantic_id.rb ##
require 'semantic_id/version'
module ::ActionView::Helpers::TextHelper
def semantic_id
string = String.new
case
when controller.action_name =~ /new|edit/
string += controller.action_name + "_"
when controller.action_name =~ /index|create/
string += controller.controller_name
else
string += controller.controller_name.singularize
end
string += "_view"
end
end
Теперь это работает, но, как я понимаю, это не "Rails 3 Way" для расширения ActiveSupport или любого другого модуля Rails. Я не смог найти много документации о том, как вы "предполагаете", чтобы построить Rails 3. Я пробовал следовать Rails Guide, но метод, заданный там для добавления помощников, не работал, иначе я чего-то не видел.
Мой вопрос:, учитывая приведенный выше код в качестве примера функциональности, которую я ищу, как бы вы превратили это в плагин Rails 3 Gem?
Спасибо!