Есть что-нибудь, что могло помешать сохранению модели?
Один из способов убедиться, что атрибуты установлены и модель сохранена, - это использовать версию для повышения исключений, которая может помочь в устранении таких проблем:
def update
@model = Model.find(params[:id])
@model.update_attributes(params[:model])
redirect_to(model_path(@model))
end
Это может быть улучшено до более надежного метода:
def update
@model = Model.find(params[:id])
# Use exception-throwing update_attributes!
@model.update_attributes!(params[:model])
redirect_to(model_path(@model))
rescue ActiveRecord::RecordNotFound
render(:partial => 'not_found')
rescue ActiveRecord::RecordInvalid
# Delegate back to edit action, something's invalid
edit
render(:action => 'edit')
end
В некоторых случаях update_attributes может не сохраняться успешно.
Если вы можете выполнить одно и то же обновление для одних и тех же данных с помощью тех же методов, то это своеобразно.