我有一个导轨应用程序视图,我想根据ENV变量设置显示两个部分之一。由于某种原因,该条件始终被评估为false,因此显示了campaign_active
部分。我已经将ENV更改为true
,并尝试将渲染语句切换到周围,并发现仅执行else
之后的语句。我想念什么?
这是视图:
<% if Rails.application.config.ended %>
<%= render "users/campaign_ended" %>
<% else %>
<%= render "users/campaign_active" %>
<% end %>
这是application.rb
设置:
config.ended = ENV['CAMPAIGN_ENDED'].to_s == 'true'
这是.ENV
文件:
CAMPAIGN_ENDED=true
ENV中的广告系列设置设置为True,因此我希望我认为的条件是真实的,并呈现竞选活动。但是,它呈现竞选活动的部分。现在,如果我将语句切换在广告系列结束之前,将campaign active
放置在campaign ended
部分渲染中。
请仔细检查您正在使用
在config/application.rb
中加载.env
文件 Dotenv::Railtie.load
在您实际使用此行中的环境变量之前
config.ended = ENV['CAMPAIGN_ENDED'].to_s == 'true'
请记住,更改.env
文件后需要重新启动Rails应用程序。