大警告:我们公司正在使用Rails 2所以我正在寻找AccVeCordRod 2的答案(如果存在的话)。
ActiveRecord中是否已经包含了一个方法来从数据库中获取属性的最新值,而不调用reload或覆盖当前的内存值?
例如:

p = Person.find(123)

# Now the in-memory value is "Joe", which would be overwritten
# if I called reload
p.nickname = "Joe"

# I want something like this to execute the equivalent of:
# SELECT 'nickname' FROM persons WHERE id = 123;
nickname_from_db = p.get_current_value(:nickname)

我意识到我的要求很容易实现;如果已经有一个ActiveRecord方法来实现我的要求,我只是不想重新发明轮子。

最佳答案

您可以使用select选项。
Person.find(123, :select => "nickname")

10-08 18:54