2013-10-01 3 views
0

Я хочу добавить метод для притяжательных строк с помощью следующего кода:Добавить метод класса Струнный в приложении Rails

module PossessiveHelper 
    def possessive 
    suffix = if self.downcase == 'it' 
     "s" 
    elsif self.downcase == 'who' 
     'se' 
    elsif self.end_with?('s') 
     "'" 
    else 
     "'s" 
    end 
    self + suffix 
    end 
end 

class String 
    include Possessive 
end 

Интересно, хотя, где и как я в том числе это в приложение Rails 3.2 ?

ответ

1

Вы должны создать файл rb с тем же содержимым и поместить его в config/initializers.

Он будет загружен во время инициализации вашего приложения Rails, и эти новые методы будут доступны для всех строковых объектов.

2

Я хотел бы иметь инициализатор под названием monkey_patching.rb со следующим:

Dir[Rails.root.join('lib', 'monkey_patching', '**', '*.rb')].each do |file| 
    require file.to_s 
end 

Тогда все, что вам нужно сделать, это добавить код в lib/monkey_patching/string.rb

Смежные вопросы