Rails 3.2.8 を使用して大学のプロジェクト用にブログのようなサイトを構築しています。Twitter ブートストラップのモーダル ボックスを使用して目立たないログイン システムを実装したいと考えています。この件についていくつかのチュートリアルを試しましたが、これまでのところ機能しません。セッションコントローラーには次のものがあります:
sessions_controller.rb
class SessionsController < ApplicationController
def new
respond_to do |format|
format.html
format.js
end
end
# Handling authentication when user submits login form
# with authenticate method. If the authentication is
# successful stores a permanent or temporary cookie based
# on selection :remember_me with an authorization token
# and redirects to root_url with notice else displays
# alert and redirects to new
def create
user = User.authenticate(params[:email], params[:password])
if user
if params[:remember_me]
cookies.permanent[:auth_token] = user.auth_token
else
cookies[:auth_token] = user.auth_token
end
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password"
render "new"
end
end
# Deleting cookie and redirecting to root_url on
# logout with notice
def destroy
cookies.delete(:auth_token)
redirect_to root_url, :notice => "Logged out!"
end
end
a :remote => true
アプリケーションビューで、フォームの部分的なコンテンツがレンダリングされ、ログインリンクに表示される非表示のモーダルを作成しました
application.html.erb
<div class="modal hide fade" id = "modal">
<div class="modal-body">
</div>
</div>
.
.
.
<%= link_to(log_in_path, :remote => true) do %>
<i class="icon-check"></i> Log in
<% end %>
最後に /app/views/sessions に js ビューがあります
new.js.erb
$("#modal-body").html(<%= escape_javascript render(:partial => 'form')%>);
$('#modal').modal('show');
しかし、モーダル レールにログイン フォームを表示する代わりに、ログイン ページ ( new.html.erb
) に移動します。誰でもこれで私を助けることができますか?