我在gem中定义了一个类,我通过改进添加了一些方法(在Ruby 2.3.0中)。这个类出现在一些Sinatra视图(haml)中。
当我在帮助器中引用这些额外的方法时,没有问题。但在视图中,我得到一个Undefined Method错误。
我错过了一个技巧,还是using ...
语句需要去某个我无法到达的地方?
(解决方法:我可以定义帮助方法来返回对象上的方法。但是如果我想这样做那么我就不会使用改进了......)
答案 0 :(得分:0)
细化的范围是词汇决定的。除非你在haml中重写调用该方法的方法,使其在using
命令的范围内,否则你不能使用优化。但我想haml在内部使用eval
或类似的东西来评估你在haml文件中编写的代码。在那种情况下,这是不可能的。