Railsコミュニティの誰かが、サイトのすべてのページにも存在するajaxを使用して、Railsでログインモーダルエクスペリエンスを作成する方法を説明してもらえますか?
最終結果: 最終的なエクスペリエンスは、Kongregate.com で見られるエクスペリエンスを模倣する必要があります。お気づきの場合は、サイトのヘッダーに常駐する永続的なログイン パーシャルがあります。そのフォームを使用してログインし、成功した場合は、そのページにログインしています。ただし、失敗した場合は、ログイン部分とエラー メッセージ/失敗の理由を示すモーダルが表示されます。もう 1 つの注目すべき点は、彼らのサイトにアクセスして「セッション/新規」コントローラー/アクションにアクセスすると、ログイン ボックスが表示されたページ全体が表示されることです。
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