Tengo dos modelos que contienen el mismo método:¿Dónde poner el código común encontrado en varios modelos?
def foo
# do something
end
¿Dónde debo poner esto?
Sé que el código común va en el directorio lib
en la aplicación Rails.
Pero si lo pongo en una nueva clase en lib
llamada 'Foo
', y tengo que añadir su funcionalidad tanto de mi ActiveRecord models
, lo hago de esta manera:
class A < ActiveRecord::Base
includes Foo
class B < ActiveRecord::Base
includes Foo
y luego ambos A
y B
contendrá el método foo
como si lo hubiera definido en cada uno?
Si ambos modelos llaman "before_save: before_method" y también me pusieron esto en SharedMethods, hará que el trabajo también? ¿O solo funciona para las definiciones de métodos? –
Además, ¿importa dónde aparece su código 'require' en environment.rb? –
Probablemente querrá que en el "Rails :: Initializer.run hacer | config | ... fin" – nicholaides