我刚刚意识到,当您执行
时,标准的ActiveRecord实际上会访问数据库person = Person.new(:name => "test")
我怀疑ActiveRecord这样做是为了检查模型可用的字段。
但是,我们的旧数据库只是偶尔可用。这意味着我们的测试套件无法一直运行。在没有数据库的情况下完成这项工作是否有任何技巧?
如果不可能,我们会考虑一些替代方案:
欢迎任何建议。
答案 0 :(得分:1)
只有触摸的数据不会从其他任何地方更改时,才能使用本地副本!否则,您很快就会遇到数据库灾难。
你的怀疑也是对的。 ActiveRecord检查数据库中的字段,以便它需要连接。当你想继续使用ActiveRecord时,我认为没有办法解决这个问题。我认为你需要解决潜在的问题并运行一个始终可用的数据库!
答案 1 :(得分:0)
试试attr_accessor :your_method_name
您也可以使用read_attribute
/ write_attribute