Hola, estoy intentando sobreescribir un método del core de rails para
usarlo
dentro de una aplicación pero no se donde colocar el fichero con el
método.
¿Alguien puede ayudarme?
Gracias
Hola, estoy intentando sobreescribir un método del core de rails para
usarlo
dentro de una aplicación pero no se donde colocar el fichero con el
método.
¿Alguien puede ayudarme?
Gracias
On 1/26/07, David C. [email protected] wrote:
Hola, estoy intentando sobreescribir un método del core de rails para usarlo
dentro de una aplicación pero no se donde colocar el fichero con el método.
¿Alguien puede ayudarme?
Yo lo hago en config/environment.rb.
De todas maneras, nos puedes comentar lo que necesitas hacer a ver si
podemos ayudar…
(Me ha pasado de querer agregar cosas que ya estaban!)
Gracias Damian, querÃa usar lo que explica Jamis B. en ese artÃculo
para
hacer unas cosillas pero no tenÃa muy claro el mejor sitio donde
extender
las clases del core. He probado a dejar el código en el application.rb y
también funciona, pero me parece más limpio dejarlo en el environment
http://weblog.jamisbuck.org/2007/1/9/extending-activerecord-associations
El Friday 26 January 2007 19:44:10 David C. escribió:
Gracias Damian, querÃa usar lo que explica Jamis B. en ese artÃculo para
hacer unas cosillas pero no tenÃa muy claro el mejor sitio donde extender
las clases del core. He probado a dejar el código en el application.rb y
también funciona, pero me parece más limpio dejarlo en el environment
O si lo puedes reaprovechar, podrÃas escribir un pequeño plugin.
Saludos.
Lo de un plugin es la mejor solucion… no solo por reaprovechar…
sino porque puedes ordenar las cosas un poco.
Esto es lo que hacemos en StreetEasy. Tenemos un plugin “interno”
llamado “snippets”. El archivo “init.rb” (que es cargado
automaticamente por rails) contiene:
Dir[File.dirname(FILE) + “/lib/**/*.rb”].each { |file| require
(file) }
Que es una forma simple de decir, busca todos los “punto rb” dentro
del subdirectorio “lib” (y sus subdirectorios internos) y hazle un
“require”.
Dentro de lib, tenemos las cosas ordenadas por “tema”. Hay
subdirectorios para “action_controller”, “array” y “string”, por
ejemplo… y archivos “sueltos” sin subdirectorios. Dentro de “lib/
array” puedes encontrar, por ejemplo “to_hash.rb” que contiene:
class Array
def to_hash
self.inject({}) do |hash, value|
begin
hash[value.first] = value.last
hash
rescue
hash[value] = value
hash
end
end
end
end
o por ejemplo, “active_record/human_name_for.rb”
module ActiveRecord
class Base
@custom_human_name = {}
class << self
def human_name_for(attr_name, human_name)
@custom_human_name ||= {}
@custom_human_name[attr_name.to_s] = human_name.to_s
end
def human_attribute_name_with_customization(attribute_key_name)
return @custom_human_name[attribute_key_name] unless
@custom_human_name.nil? or @custom_human_name[attribute_key_name].nil?
human_attribute_name_without_customization(attribute_key_name)
end
alias_method :human_attribute_name_without_customization, :human_attribu
te_name
alias_method :human_attribute_name, :human_attribute_name_with_customiza
tion
end
end
end
Y asi vamos… creando pequeños archivos con pequeñas funciones…
breves comentarios explicando que hace y de donde vino.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs