Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails.env的Rails elsif块_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails.env的Rails elsif块

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

我想根据环境重定向用户。用于登台和生产的URL位于rails凭据中,为了避免规范错误,当环境不是登台或生产时,我必须添加
新的会话路径(资源名称)
。下面是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
变量