由于我讨厌使用布尔文本调用方法,而这些方法没有说明它们的意图,所以我尝试在eruby模板中定义一个常量,如下所示:<% NO_NIL_PADDING = false %>用于调用in_groups_of。但是,这会导致动态常量赋值错误。有办法绕过这件事吗?我可能可以在某个环境中定义常量,但是ATM机我倾向于将常量定义尽可能接近它的用法,直到它开始有必要将其定义移到更高的级别为止。
发布于 2010-11-29 15:07:13
我不知道您在模板中还做了什么可能会导致这种情况,但是设置常量对我来说是有效的:
ruby-1.8.7-p249 > template = ERB.new "<% DONT_SET_CONSTANTS_IN_VIEWS = false %>"
=> #<ERB:0x100485890 @src="_erbout = ''; DONT_SET_CONSTANTS_IN_VIEWS = false ; _erbout", @filename=nil, @safe_level=nil>
ruby-1.8.7-p249 > template.result(binding)
=> "" 不过,顺便提一下,强烈建议不要这样做。作为在过去一年继承了大量代码的人,您正在给自己和潜在的其他人带来严重的麻烦。这样的选择实际上会改变每个业务逻辑吗?我会尝试选择一个理智的默认,然后使用它。如果它不在其他地方使用,为什么要创建一个常量?
https://stackoverflow.com/questions/4304473
复制相似问题