2012-04-25 3 views
0

私はAjaxでログイン情報を送信するログインフォームを持っています。Rails 3.2.1の2つの可能な回答のログイン:jsまたはhtml

ログインが間違っている場合は、警告を表示してフォームを揺する.jsを送信します。

ログインが成功したら、全ページをリダイレクトするだけです。

Railsコントローラは常に.js呼び出しを期待していますが、実際にはどちらの場合でも.js応答を送信します。これは、レールのリダイレクトがブラウザが期待するいくつかの.js応答になるためです。

login wrong: 
$("#login").effect("shake", { times:2 , distance:10},20); 


login successfull: 
window.location.replace("<%=root_url(:only_path => false)%>enterprises/"); 

これは良いアプローチ(個人的に私はそれが好きではないが動作します)か、これを処理する良い方法であるかどうかです。

ありがとう、

+0

このソリューションの問題点は何ですか?私はそれが良いものだと思う。 – Matzi

+0

現在、私は問題はありませんが、それを行うより良い方法であるかどうかを尋ねています... – mongeta

答えて

1

私はそれが良い解決策だと思います。 Mayby私は、ハードコーディングされたパスではなく、ヘルパーに依存することに成功した場合にURLを修正しますが、それは小さな問題です。

ユーザーがブラウザでJavaScriptを無効にした場合、両方の操作で追加の.htmlビューを表示するとよい場合もあります。

+0

私は追加の.htmlビューを持っていますが、このWebは社内プロジェクトのERPです。 speficicブラウザを持つ特定のユーザー。 – mongeta

関連する問題