0

Rails 社区中的某个人可以解释一下,我如何使用 ajax 在 Rails 中创建登录模式体验,该 ajax 也存在于网站的每个页面中?

最终结果:最终 的体验应该模仿 Kongregate.com 上的体验。如果您注意到,他们有一个持久登录部分,位于他们网站的标题中。如果您使用该表单登录并成功,那么您就在页面上登录了。但是,如果您失败了,那么您会看到一个带有部分登录信息的模式,以及错误消息/失败原因。另一个值得注意的项目是,如果您访问他们的站点并访问“会话/新”控制器/操作,那么您将进入一个带有登录框的完整页面。

我看过很多教程,其中涵盖了rails 中的AJAX 表单,但似乎没有人谈论标题中的持久登录框,它在失败时会转换为模式。

到目前为止,我几乎可以模仿这一点,但我对会话控制器中需要的东西一无所知。

我有以下内容:

会话控制器

def new
end

def create
  @user = User.find_by_email(params[:email])
  respond_to do |format|
    if @user && @user.authenticate(params[:password])
      session[:user_id] = @user.id

      format.html {
        redirect_to user_url(user), notice: "Logged In!"
      }
      format.js #Not sure what to do here
    else
     format.html { render "new", notice: "Invalid Username/password!" }
     format.js #Not sure what goes here....
    end
  end
end

def destroy
  session[:user_id] = nil
  redirect_to root_url, notice: "Logged Out!"
end
4

0 回答 0