Ошибка отсутствия шаблона при обновлении пользователя без указания пароля - Authlogic - PullRequest
0 голосов
/ 05 августа 2011

Я использую 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'

1 Ответ

0 голосов
/ 05 августа 2011

вместо

render :action => :edit

вы можете использовать:

render :template => "community_event_users/edit"

Итак, у вас есть файл вроде: "yourapp / views / community_event_users / edit.erb"?

Если нет, используйте путь к файлу редактирования-просмотра.

...