我不明白,没有比这更简单了:
class Visit < ActiveRecord::Base
def before_save
self.visited_on = "test"
end
end
然而,如果我这样做:
a = Visit.first
a.user_id = 5
a.save
a.visited_on
=> nil #WTF?
我知道过滤器必须返回true,但这一个是......可能是什么问题?
答案 0 :(得分:0)
您确定您的记录实际上已保存吗?如果user_id已经是5,则a.save将不执行保存。此外,如果visited_on是日期和/或时间,则“test”可能会转换为nil。尝试使用当前时间或类似的东西。
答案 1 :(得分:0)
典型的愚蠢开发错误:我的代码中有两个类访问。我不知道它是怎么发生的,但删除空类修复了这个问题。抱歉浪费你的时间。