Ruby on rails Rails.env的Rails elsif块
我想根据环境重定向用户。用于登台和生产的URL位于rails凭据中,为了避免规范错误,当环境不是登台或生产时,我必须添加Ruby on rails Rails.env的Rails elsif块,ruby-on-rails,Ruby On Rails,我想根据环境重定向用户。用于登台和生产的URL位于rails凭据中,为了避免规范错误,当环境不是登台或生产时,我必须添加新的会话路径(资源名称)。下面是elsif区块: protected def after_confirmation_path_for(resource_name) if Rails.env.staging? Rails.application.credentials.confirmation_account_url_staging
新的会话路径(资源名称)
。下面是elsif区块:
protected
def after_confirmation_path_for(resource_name)
if Rails.env.staging?
Rails.application.credentials.confirmation_account_url_staging
elsif Rails.env.production?
Rails.application.credentials.confirmation_account_url_production
else
new_session_path(resource_name)
end
end
我不知道这是否是使用elsif块的好方法。在这种情况下,还有其他选择吗?您可以将它放在
.env
文件中,以便为每个环境放置合适的url
因此,当您执行
ENV[CONFIRMATION\u ACCOUNT\u URL]
时,您将根据运行应用程序的环境获得正确的URL。您可以为每个环境创建.ENV
文件,可能.ENV.production
和.ENV.staging
或.ENV.development
。然后将变量放入每个.env
文件。
Rails将检查当前环境以获取.env
变量