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