1

由于我讨厌使用没有说明其意图的布尔文字调用方法,因此我尝试在我的 eruby 模板中定义一个常量,如下所示:<% NO_NIL_PADDING = false %>调用in_groups_of. 然而,这导致了动态常量分配错误。有什么办法可以解决这个问题?我可能可以在环境中的某个地方定义常量,但是在 atm 中,我更愿意让常量定义尽可能接近它的用法,直到它开始有必要将它的定义移动到更高的级别。

4

1 回答 1

0

我不知道你在模板中做了什么可能导致它,但只是设置常量对我有用:

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)
 => "" 

但是,在旁注中,我强烈建议不要这样做。作为一个在去年继承了很多代码的人,你正在为自己和潜在的其他人带来严重的头痛。这样的选项实际上可能会根据业务逻辑而改变吗?我会尝试选择一个理智的默认值并使用它。如果它没有在其他任何地方使用,为什么要创建一个常量?

于 2010-11-29T15:07:13.640 回答