【问题标题】:Getting Error with memoized_finder methodmemoized_finder 方法出错
【发布时间】:2012-01-23 01:16:33
【问题描述】:

我尝试实现 memoized_finder 方法,但遇到了一个我不理解的错误。

我的方法如下:

class Module
def memoized_finder(name, conditions=nil)
class_eval <<-STR
  def #{name}(reload=false)
    @#{name} = nil if reload
    @#{name} ||= find(:all, :conditions => #{conditions.inspect})
  end
STR
end
end

这会导致以下错误:

SyntaxError: (eval):3: odd number list for Hash.    @sire ||= find(:all, :conditions => {conditions.inspect})

我已经用谷歌搜索了,但无法找出问题所在。

注意:我使用的方法来自一篇关于扩展 Activerecord 关联的精彩文章。如果有人想看看,这是链接:http://weblog.jamisbuck.org/2007/1/9/extending-activerecord-associations

感谢您的意见。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord memoization


    【解决方案1】:

    事实证明,我的 jruby 安装基于与 memoized_finder 方法不兼容的 rails 版本。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 2020-05-30
      • 2015-03-08
      • 2018-05-28
      • 1970-01-01
      相关资源
      最近更新 更多