Я думаю, что этот вопрос можно было задавать раньше, но я, честно говоря, не знаю, как его искать.
В основном, когда я выполняю рендер: action => 'edit' в действии обновленияв контроллере каким-то образом представление выводит форму, как если бы это была страница: action => 'new'.
form_for дал неправильное действие, а f.submit дал неверный текст кнопки (он дал create вместо update)
редактировать:
соответствующие части контроллера
def edit
@user = User.find_by_email(current_user.email)
end
def update
old_password=params[:user].delete(:old_password)
@user=User.new(params[:user])
if User.find_by_email(@user.email).valid_password?(old_password)
logger.info 'Valid old password'
else
flash[:notice]='Invalid current password'
render :action=>'edit'
end
end