Я использую Authlogic для своей системы аутентификации в приложении Rails 2.3.8 для моего клиента. У меня есть модель, CommunityEventUser, которая должна быть обновлена с новыми атрибутами. Код контроллера такой:
def edit
@user = current_user
end
def update
@user = current_user
if @user.update_attributes(params[:community_event_user])
flash[:notice] = "You updated your profile!"
redirect_to community_event_user_path
else
render :action => :edit
end
end
Это просто стандартное редактирование / обновление кода RESTful. Когда я перехожу в представление для редактирования информации учетной записи пользователя, отправка формы с изменениями любых атрибутов, кроме password
и password_confirmation
, и оставление этих двух последних полей пустыми перенаправляет меня на страницу с такой ошибкой:
Template is missing
Missing template community_event_users/edit.erb in view path app/views
И этот URL:
http://localhost:3000/events/user.%23%3Ccommunityeventuser:0x10495ad80%3E
Однако, когда я сопоставляю пароли в двух полях паролей, пользователь обновляется правильно. Я думал, что стандартное использование Authlogic позволяет просто игнорировать пустые поля password
и password_confirmation
при обновлении. В чем может быть проблема здесь?
Просмотреть код для редактирования:
- set_page_title "Login - Community Calendar"
%h2.replaced#h2-edit_account Edit Account
- content_for :sidebar do
= render :partial => 'community_events/sidebar'
= render 'community_event_user'