Ruby on rails 如何在每次部署时在模型中缓存一次文本文件的内容?
我有一个文本文件,在其中我必须经常引用其中的值。我必须将数据库中的某些值与文本文件中的某些条目进行比较。这两个数据集都非常大。我不会将此文本文件(我将其称为Ruby on rails 如何在每次部署时在模型中缓存一次文本文件的内容?,ruby-on-rails,ssl,ruby-on-rails-4,Ruby On Rails,Ssl,Ruby On Rails 4,我有一个文本文件,在其中我必须经常引用其中的值。我必须将数据库中的某些值与文本文件中的某些条目进行比较。这两个数据集都非常大。我不会将此文本文件(我将其称为changefile)加载到数据库中,因为在数据库中进行比较花费的时间太长。我不会将changefile放入数据库表中,因为它更容易从文件中读取,而且我不想每次发布新的changefile时都要搜索上传 我所做的是将数据库中的一组记录读入文本字符串,将文件读入文本字符串,然后进行比较 我有一个模型,其中changefile中的文本字符串用变量
changefile
)加载到数据库中,因为在数据库中进行比较花费的时间太长。我不会将changefile
放入数据库表中,因为它更容易从文件中读取,而且我不想每次发布新的changefile
时都要搜索上传
我所做的是将数据库中的一组记录读入文本字符串,将文件读入文本字符串,然后进行比较
我有一个模型,其中changefile中的文本字符串用变量表示。看起来是这样的:
class Standard < ActiveRecord::Base
def changes
@changes ||= read_the_file_into_an_array
end
end
不能让它工作。错误:
NameError: undefined local variable or method `get_changes' for MyObject:Class
我一点也不明白。为什么要将
get\u changes
作为local
变量访问?将其作为初始值设定项的一部分读取,并根据文件上下文将其加载到变量或配置中签出类变量。我想这就是你要找的。这一页可能会让您开始:我知道如何使用示例中的静态值来实现这一点,但是否也可以对只触发一次的类变量使用setter?def self.changes@@更改| |=将_文件_读入_数组;endIt看起来我有更复杂的用例,因为这个类是另一个类的子类,我需要每个子类访问不同的文件。从文档中听起来好像@将为超类和所有子类设置该变量。这与我在类中放置内容的顺序有关。
NameError: undefined local variable or method `get_changes' for MyObject:Class