【问题标题】:Use if statement in layout.html.erb in a Sinatra app在 Sinatra 应用程序的 layout.html.erb 中使用 if 语句
【发布时间】:2014-07-31 04:49:21
【问题描述】:

在我的 Sinatra 应用程序中,我想提供我的 css/js 的缩小版本用于生产,但在开发中保留我的默认设置(单个文件)。我不太确定如何用正确的语法编写它,但如果我给出一个伪示例,它应该会显示我想要实现的目标。

layout.html.erb

<% if :environment == :development %>
  <!-- stylesheet link tags here -->
<% elsif :environment == :production %>
  <!-- minified versions of stylesheets -->
<% end %>

是否可以有条件地设置我要使用的样式表,或者有更好的方法吗?

编辑

我正在尝试这个

<% if ENV['RACK_ENV] = 'development' %>
  <!-- stylesheet link tags here -->
<% elsif ENV['RACK_ENV] = 'production' %>
 <!-- minified versions of stylesheets -->
<% end %>

还有比这更有效的方法吗?

【问题讨论】:

  • 在您的第一个示例中,:environment == :development 始终为假,因为您正在比较两个不同的符号。 Sinatra provides development?, test? and production? methods 让检查环境变得容易。
  • 感谢@matt,现在这很容易,很高兴您向我指出了这一点,如果您愿意,请标记为答案

标签: css ruby sinatra stylesheet-link-tag


【解决方案1】:

我还没有使用它,但看起来sinatra-assetpack 可以为您的问题提供一个很好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多