0

私の Ruby on Rails Web アプリケーションには標準認証があります。ユーザーがインデックス ページからログインするので、インデックス ページを「user_sessions」リソースの「新規」アクションとしてモデル化することにしました。

css を使用してログイン フォームを非表示にすることにしました。これにより、javascript 起動モーダル ダイアログ ボックスでログイン フォームを表示できるようになりました。

問題は、ユーザーが JavaScript をオフにしている場合にどうすればよいかということです。ログインするにはどこに送信すればよいですか?

代わりに、javascript からログイン フォームを非表示にすることを検討したので、javascript をオフにすると、フォームは表示されたままになります。これに関する問題は、ページが読み込まれているときに、フォームが消える前に一時的に表示されることです。

4

2 に答える 2

2

私はそのようには行きません。通常のインデックスページを作成し、ログインフォームにリンクします。次に、を使用してujs、リンクをremote(非同期で管理されるように)として設定し、そのハンドラーを登録して、結果のフォームをポップアップで表示します。

(in the view)
link_to new_user_session_path, :remote => true, :class => "possibly-modal-dialog"

(in some js or coffee file)
$(document).on "click", "a.possibly-modal-dialog", (event) ->
  event.preventDefault
  # to whatever needed to show the dialog.

このように、javascriptを持たないユーザーには通常のリンクが表示され、javascriptを使用するユーザーはモーダルダイアログをトリガーするだけです。

于 2012-10-02T18:17:44.647 に答える
1

JavaScriptをオフにしたユーザーが本当に必要ですか? ホームページで通知を行います。

<noscript>
    <p><font color="red" size="3"><b>Javascript is turned off. <br/> 
    You need to <a href="/settings">change your browser settings</a>.</b></font>
</noscript>
于 2012-10-02T18:22:35.017 に答える