在不更改链接的情况下呈现错误 - 瑞安贝茨 - RAILS



对于那些真正观看或正在观看RailsCasts的人,以及那些实际观看过这两个视频的人:http://railscasts.com/episodes/250-authentication-from-scratch?view=commentshttp://railscasts.com/episodes/250-authentication-from-scratch-revised

您会注意到,在这两个测试中,在他

所做的每次登录空白测试中,Ryan Bates 似乎并不关心这样一个事实,即在登录validation_presence错误时,他会被从/sessions/new 重定向到/sessions。这一直困扰着我,我仍然很难找到解决这个问题的方法?我有一种感觉,它相当简单,但我想它只是隐藏在可见的地方,而不是对我来说。

*

这基本上是瑞安·贝茨的代码:*他有错误 - 我有错误。

想法???

用户模型:

has_secure_password
attr_accessible :email, :password, :password_confirmation
validates_uniqueness_of :email

会话控制器:

def new
end
def create
  user = User.find_by_email(params[:email])
  if user && user.authenticate(params[:password])
    session[:user_id] = user.id
    redirect_to root_url, notice: "Logged in!"
  else
    flash.now.alert = "Email or password is invalid"
    render "new"
  end
end
def destroy
  session[:user_id] = nil
  redirect_to root_url, notice: "Logged out!"
end

会话登录页面:

<h1>Log In</h1>
<%= form_tag sessions_path do %>
  <div class="field">
    <%= label_tag :email %><br />
    <%= text_field_tag :email, params[:email] %>
  </div>
  <div class="field">
    <%= label_tag :password %><br />
    <%= password_field_tag :password %>
  </div>
  <div class="actions"><%= submit_tag "Log In" %></div>
<% end %>

我没有专业人士,所以不能看这一集......为什么你说你被重定向到/sessions? 日志文件是否真的说它正在这样做?

记得。。。当您提交该表单时,它将发布到/sessions。 因此,您会在地址栏中看到"/sessions",但您不会被重定向到那里。 当表单提交失败时,它将render :action => 'new' - 在"/sessions"的当前网址上。 但是您仍然没有重定向....

相关内容

  • 没有找到相关文章

最新更新