que - En Ruby on Rails, para extender la clase String, ¿dónde debería colocarse el código?
ruby on rails tutorial (3)
Las pautas en Rails 3.1 es el camino a seguir:
http://guides.rubyonrails.org/plugins.html#extending-core-classes
Si sigues la convención predeterminada no necesitarás jugar con una configuración de inicializador.
Si en Ruby on Rails, necesito agregar un método llamado
class String
def capitalize_first
# ...
end
end
y se pregunta a dónde debería ir el archivo? (¿qué directorio y nombre de archivo, y se necesita algún código de inicialización?) Esto es para un proyecto de Rails 3.0.6.
Podrías hacerlo en config / initializers / string.rb
class String
def capitalize_first
# ...
end
end
debe ser todo lo que necesita (además de un reinicio de la aplicación).
Siempre agrego un directorio core_ext
en mi directorio lib
.
Crear e initializer para cargar las extensiones personalizadas (por ejemplo: config/initializers/core_exts.rb
). Y agrega la siguiente línea:
Dir[File.join(Rails.root, "lib", "core_ext", "*.rb")].each {|l| require l }
y tenga su extensión como:
lib/core_ext/string.rb
class String
def capitalize_first
# ...
end
end