ruby-on-rails - 检查 ruby​​ on Rails 中是否禁用 Cookie

标签 ruby-on-rails ruby-on-rails-3

我正在使用 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 已被禁用,即使它已启用...

最佳答案

将您的方法更改为以下内容:

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

关于ruby-on-rails - 检查 ruby​​ on Rails 中是否禁用 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13226167/

相关文章:

ruby-on-rails - 在 Ruby 中转换只有一个对象的数组

ruby-on-rails - Elasticsearch嵌套查询聚合

ruby-on-rails-3 - 错误 Errno::ECONNRESET:连接被对等方重置

ruby-on-rails - 如何从精炼厂主页中删除页面标题 [RAILS]

ruby-on-rails - 包括来自 vendor/assets/javascripts 的 javascript

ruby-on-rails - 在 FactoryGirl 中的关联设置属性中传递参数

ruby-on-rails - 连续两行的最大列差

ruby-on-rails - 如何从hidden_​​field_tag通过link_to参数传递值(Rails)

ruby-on-rails - Ruby on Rails ActiveRecord 范围与类方法

ruby-on-rails - 为什么 ActiveRecord 会自动验证 has_many 关联