Автоматический вход после регистрации в Ruby on Rails приводит к пустому экрану пользователя - PullRequest
0 голосов
/ 18 октября 2010

В настоящее время я занимаюсь обучением по Ruby on Rails Майкла Хартла.

В настоящее время я нахожусь в этой части PDF, http://railstutorial.org/chapters/sign-in-sign-out#sec:sessions

Моя проблема в этом ...

При регистрации нового пользователя код работает правильно, создавая нового пользователя и автоматически регистрируя этого пользователя. Однако после этого у меня возникают проблемы.

Вместо отображения страницы пользователей или перенаправления в какое-либо место я не могу перенаправить на любую страницу, а вместо этого застрял на пустом локальном экране: 3000 / пользователи.

Кажется, проблема в этом, но, вероятно, нет.

  def create
    @user = User.new(params[:user])

    respond_to do |format|
      if @user.save
        sign_in @user
        flash[:success] = "Welcome to the Sample App!"
        redirect_to users_path
      else
        render 'new'
      end
    end
  end

Пожалуйста, дайте мне знать, если какая-либо дополнительная информация может быть полезна.

Большое спасибо.

1 Ответ

3 голосов
/ 18 октября 2010

Вы используете блок response_to: format, а затем не предоставляете никаких форматов.Блок форматирования нужен только в том случае, если вы хотите, чтобы ваше действие велось по-разному для разных форматов запроса: например, для обычного html против javascript / ajax.Так что, либо прервите блок форматирования следующим образом:

  def create
    @user = User.new(params[:user])
    if @user.save
      sign_in @user
      flash[:success] = "Welcome to the Sample App!"
      redirect_to users_path
    else
      render 'new'
    end
  end

или поместите свой код в html-блок:

  def create
    @user = User.new(params[:user])

    respond_to do |format|
      format.html {
        if @user.save
          sign_in @user
          flash[:success] = "Welcome to the Sample App!"
          redirect_to users_path
        else
          render 'new'
        end
      }
    end
  end

Первое, вероятно, подходит вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...