2

Ruby on Rails を使用して Web アプリケーションを開発しています。Cookie が有効になっているかどうかを確認したい。そうでない場合は、エラー メッセージが表示され、ユーザーは先に進むことができません。

application_controllerで私はこれをやった..

before_filter :cookies_required
def cookies_required
    return true unless cookies["_no_app"].blank?        
    render :template => "shared/cookies_required", :layout => "login"
end

そして、shared/cookies_required.html.erb のコードは...

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<%= stylesheet_link_tag "login.css"%>
<head>
    <style type="text/css">
        body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
        div.dialog {
            width: 25em;
            padding: 0 4em;
            margin: 4em auto 0 auto;
            }
        h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
    </style>
</head>
<body>

<div class="dialog">
<p><font size="4">Cookies are disabled. First enable it.</font> </p>
</div>
</body>
</html>

このコードは機能しています...しかし問題は、ブラウザが最初にページをロードしたときに、Cookieが有効になっていても無効になっているというエラーメッセージを表示することです...

4

1 に答える 1

3

メソッドを次のように変更します。

def cookies_required
   return true unless request.cookies.blank?  
   render :template => "shared/cookies_required", :layout => "login"
end
于 2019-02-06T10:29:05.427 に答える