Rails 3: как переопределить метод в геме

Я хочу добавить некоторый пользовательский код в один из методов в драгоценном камне. В Rails 2.3.8 я добавил файл .rb в каталог config/initializers, и все заработало отлично.

После перехода на Rail3 то, что работало раньше, больше не работает. Я попытался добавить mongoid_slug.rb в config/initializers и в /lib и автоматически загрузить путь /lib в application.rb. Оба не работали.

Внутри mongoid_slug.rb я пробовал:

module Mongoid
  module Slug    
     module ClassMethods  
         def find_unique_slug  
             #mycode   
         end  
     end  
  end  
end

И

Mongoid::Slug::ClassMethods.module_eval do   
  def find_unique_slug  
    #mycode  
  end  
end  

И все равно оба провалились. Кто-нибудь может предложить несколько советов о том, как обезьяна исправляет драгоценный камень в Rails3? Спасибо!


person user698280    schedule 08.04.2011    source источник


Ответы (1)


это работает для меня,

module Mongoid
  module Slug    
     module ClassMethods  
         def find_unique_slug  
             #mycode   
         end  
     end  
  end  
end

проблема в другом, я думаю, что при включении этого файла или вызове этих методов должно быть включено, например: включить Abt::I18n в ApplicationHelper или где-то еще

person lesyk    schedule 08.06.2012