我现在正在基于health-data-standards库( https://github.com/projectcypress/health-data-standards.git )进行开发。 在文件lib / health-data-standards / export / helper / scooped_view_helper.rb( https://github.com/projectcypress/health-data-standards/blob/master/lib/health-data-standards/export/helper /scooped_view_helper.rb )第90行,将调用Patient.entries_for_oid 但是该方法未定义。

在Pry环境下,我尝试“编辑Patient.entries_for_oid”。 编辑器在第166行打开memoist / lib / memoist.rb( https://github.com/matthewrudy/memoist/blob/master/lib/memoist.rb )。在这里,我看到了以下代码:

          module_eval <<-EOS, __FILE__, __LINE__ + 1
        def #{method_name}(*args)
          reload = Memoist.extract_reload!(method(#{unmemoized_method.inspect}), args)

          skip_cache = reload || !(instance_variable_defined?(#{memoized_ivar.inspect}) && #{memoized_ivar} && #{memoized_ivar}.has_key?(args))
          set_cache = skip_cache && !frozen?

          if skip_cache
            value = #{unmemoized_method}(*args)
          else
            value = #{memoized_ivar}[args]
          end

          if set_cache
            #{memoized_ivar} ||= {}
            #{memoized_ivar}[args] = value
          end

          value
        end
      EOS
    end

但这没有意义,耐心.entries_for_oid到底是做什么的。

有人知道吗?

谢谢

#1楼 票数:0

该方法在Record模型类上定义 此类的实例将传递到帮助器中的entries_for_data_criteria方法。

您不会简单地看到实际的方法源,因为作者选择使用Memoist宝石,该宝石可用于包装任意方法以扩展其行为(在这种情况下,是缓存,或更准确地说是记忆)。

  ask by tlikeit translate from so

未解决问题?本站智能推荐:

1回复

红宝石功能在做什么

在我戳过的这个项目中(我是PHP开发人员,而不是RoR),模态上有此功能。 因此,它正在尝试从名为trop_fish的项目中查找任务。 但是顶部的@task是什么。 是将if块的查找结果分配给@task吗? 和...一样吗
1回复

聆听宝石在做什么?

我发现开发团队中的gem listen带有一个rails new的rails new 。 我想知道它在做什么,甚至阅读文档( https://github.com/guard/listen )都对我没有任何帮助。 它说 侦听文件修改并通知您有关更改的信息 然后,我也将其从我的应用
1回复

红宝石中的这段代码做什么?

我是新来的,所以请和我保持温和,我仍然只是编程方面的新手,尤其是红宝石语言。 这是一个组合框,我想知道在更改它或调用什么函数后它会去哪里。 您能告诉我它的去向或作用吗? 谢谢
2回复

红宝石宝石能做什么?

我正在研究红宝石产品,并试图弄清它是否可以变成宝石。 我可以找到有关如何制作gem和gem手册的文档,但找不到任何内容,“这是gem可以做和不能做的”。 假设我创建了一些代码,gem可以执行以下哪些操作? 1)使用视图和路线之类的Rails约定* 2)在数据库中创建和/或访问表3)使ge
2回复

红宝石的辅助方法中的条件值

我想在此辅助方法中设置参数,但是我不确定是否可以使用三元运算符或某些条件下的值来设置值。 条件是这样的:
2回复

重构Rails中的红宝石方法

我在Rails应用程序的通知模型中有以下代码。 我想重构一下。 肯定有问题的是“检查对象是否存在,然后对其进行处理”部分。 我想我可以try但我不知道它是如何工作的。 斯比能否告诉我该怎么做( try或者try更好的方法)? 关于其余代码还有其他意见吗? 范围: 更新:
3回复

红宝石中的私有类方法链接

如何在ruby中链接私有类方法? Foobar.three导致undefined method "two" for #<ActiveRecord::Relation> 为什么会发生这种情况,并且有解决方法来实现我的愿望?
3回复

在红宝石中循环

嗨,我在ruby项目中有一个用户数据库,我需要遍历每个用户并获取他们的值。 你如何循环? 我知道你可以用 并获取每个元素,但是如何循环到最后一个元素?