Según tengo entendido, el método #find_by_attributes
es un método protegido llamado por métodos obsoletos #find_by_attribute_name
. Ahora, esos fueron desaprobados y reemplazados por el método #find_by
, que no implica #find_by
(por lo tanto, es más rápido, menos peligroso y menos “mágico”).
¿Por qué peligroso? Mire el código del método (find_by_attributes (ActiveRecord :: FinderMethods) – APIdock) e imagine que alguien lo llama con una instancia de la clase #finder
cuyo método #finder
devuelve :delete_all
.
Además, cualquier llamada legítima a #find_by_attributes
puede ser reemplazada por Rails 4+ #where con un modificador opcional ( #first
, #last
). El viejo método simplemente ya no es necesario.
- ¿Qué oportunidades hay para un desarrollador front-end más fresco en Bangalore?
- ¿Por qué optamos por Sitecore 8 en lugar de la versión anterior?
- Cómo cambiar http://example.com a http://www.example.com en WordPress
- Cómo hacer un sitio web de comparación de precios de actualización automática
- Para alguien nuevo en GitHub, ¿cómo puedo ganar tracción para mi proyecto?
Además, en la programación OO se supone que solo debe usar la interfaz de clase pública, por #find_by_attributes
método #find_by_attributes
nunca se debe usar directamente (está protegido). No se lo perderá.