¿Es el método Rails update_attributes la mejor opción para hacer una actualización de un modelo en la base de datos?

StackOverflow https://stackoverflow.com/questions/840199

Pregunta

def update
  @album = Album.find(params[:id])
  if @album.update_attributes(params[:album])
    redirect_to(:action=>'list')
  else
    render(:action=>'edit')
  end    
end

Un tutorial de Rails 1.1.6 que estoy cubriendo recomienda usar el método update_attributes para actualizar un modelo, como en el código de ejemplo de mi controlador mencionado anteriormente. En cuanto a la documentación de Rails, me pregunto por qué no se hubiera preferido el método update , especialmente porque se llama tan lógicamente.

¿Fue útil?

Solución

La actualización toma un parámetro de objeto id y un conjunto de atributos que de otro modo funcionarían como update_attributes .

Entonces esto (de AWDWR 3rd edition )

Order.update(12, :name => "Barney", :email => "barney@bedrock.com")

es equivalente a

Order.find(12).update_attributes(:name => "Barney", :email => "barney@bedrock.com")

Entonces, si todo lo que quiere hacer es actualizar una fila de identificación conocida con un conjunto de atributos, entonces diría que no hay razón para no usar update : parece que esa es la razón por la que escribieron ¡

(¿Hay alguna manera de que su tutorial se actualice desde 1.1.6? Es bastante antiguo y no era una versión particularmente devastadora cuando era actual. 1.2.6 era mejor, el último de los 1. xs, si no recuerdo mal).

Otros consejos

Usando el método update_attributes solo suponga que ya tiene un objeto, y simplemente pasaría el conjunto de atributos. ¡Y el trabajo está hecho!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top