繁体   English   中英

在 Rails erb 文件中创建实例或局部变量?

[英]Creating instance or local variables in Rails erb file?

我有一些纯粹与 UI 相关的计算,例如在以下示例中确定 html/css class:

<% class = score < 60 ? "red" : "green" %>

如果这是在 erb 模板中完成的,而不是在创建变量class@class时首选的 controller 中?

创建变量 class 或 @class 时首选哪个?

您不能创建名为class的变量,因为它是保留关键字。 另一方面, @class是完全有效的。

谈到在视图文件中创建变量,这不是一个好建议。 鼓励人们远离您可能拥有的任何逻辑的观点通常很常见。

如果您急于这样做,那么只需使用三元运算符:

score < 60 ? 'red' : 'green'

如果局部变量足够,请使用局部变量。

但是,除此之外,视图实际上从来都不是定义任何变量的好地方。 为什么不使用 helper 呢? 像这样,例如:

def score_class(score)
  score < 60 ? 'red' : 'green'
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM