Rails,一种只在生产中调用的方法

时间:2012-09-25 18:25:16

标签: ruby-on-rails-3 ssl filter environment-variables

我记得在网上看到这个,但我知道找不到它的信息。在Rails 3.1中,我在会话控制器的开头有一个方法,force_ssl,我只想在生产环境中调用它,我该怎么做?

为了澄清,代码看起来像这样

class SessionsController < ApplicationController
    force_ssl
end

2 个答案:

答案 0 :(得分:1)

我有类似的问题。 force_ssl通过测试水豚和硒引起问题。这解决了我的问题,测试现在正在运行:

force_ssl if Rails.env.production?

我在某些控制器中使用上面的行。例如在SessionController和UserController中。

答案 1 :(得分:0)

如果当前环境是“生产”,则

Rails.env.production?返回true。更一般地说,Rails.env.somestring?如果Rails.env == "somestring"则返回true。从那里你应该是好的。

**编辑**

实际上,有一种更简单的方法可以在生产中使用ssl。查看this article