2011-04-25 16 views
6

me di cuenta en la documentación Rieles here que el método update_attributes está en desuso:¿Por qué ActiveRecord :: Base # update_attributes está en desuso?

Este método está en desuso en la última versión estable de rieles. La última versión existente (v2.3.8) se muestra aquí.

Tengo curiosidad por saber por qué estaba obsoleto y qué se prefiere en su lugar.

No es una cuestión de enormes consecuencias para mí en este momento, ya que el método funciona bien en mis aplicaciones de Rails 2.x. Sin embargo, anticipándome a la actualización a Rails 3 algún día, me gustaría comenzar a entender lo que necesitaré cambiar y cómo se hacen las cosas de manera diferente.

+0

Otra parte de la documentación de APIDock no aparece como obsoleto [Antiguo] (http://apidock.com/rails/ActiveRecord/Base/update_attributes) vs [Nuevo] (http://apidock.com/rails/ActiveResource/Base/update_attributes) – Zabba

+0

APIDock ahora enumera la versión del recurso activo en su lista de "métodos similares". –

+0

Mejor prisa - está a punto de tener que ir de Rails 2 a Rails 4. http://weblog.rubyonrails.org/2011/12/20/rails-master-is-now-4-0-0- beta/ – Andrew

Respuesta

9

Apidock es un poco engañoso, que en realidad dice "obsoleto o se mueve" ; esto último es cierto, el primero no lo es. ActiveRecord::Base incluye ActiveRecord::Persistence, que define #update_attributes. Puede ver los documentos para esto en apidock en http://apidock.com/rails/ActiveRecord/Persistence/update_attributes.

Si bien esto también se encuentra en ActiveResource ahora, no hay implementación compartida de atributos_actualización, y no debe buscar allí la documentación relacionada con ActiveRecord :: Base, o viceversa.

+0

Como observación adicional: 'ActiveRecord :: Persistence' se incluye en' ActiveRecord :: Base'. De hecho, nada cambió, aparte del lugar físico de la definición del método. –

2

lo que tengo entendido, no es está en desuso, se extrajo a partir de ActiveRecord y en ActiveResource, como se mencionó en el release notes de 3.0

+0

ActiveRecord y ActiveResource son dos cosas muy diferentes y ActiveRecord no requiere ActiveResource. Aunque ambos se ven similares desde el punto de vista de un usuario, los métodos no están relacionados en absoluto. La respuesta de carpeliam es la correcta. –

Cuestiones relacionadas