0

Ajaxでログイン情報を送信するログインフォームがあります。

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

ログインが成功した場合は、ページ全体をリダイレクトしたいだけです。

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

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


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

問題は、これが良いアプローチであるか(個人的には好きではありませんが、機能するか)、またはこれを処理するためのより良い方法であるかどうかです。

ありがとう、

4

1 に答える 1

1

良い解決策だと思います。たぶん、ハードコードされたパスではなく、ヘルパーに依存することに成功した場合にURLを修正しますが、それは些細なことです。

ユーザーがブラウザでJavaScriptを無効にした場合に備えて、両方のアクションに.htmlビューを追加するとよいでしょう。

于 2012-04-25T20:29:20.513 に答える