I dont understand, nothing could be simpler:
class Visit < ActiveRecord::Base开发者_Python百科
def before_save
self.visited_on = "test"
end
end
Yet, if I do:
a = Visit.first
a.user_id = 5
a.save
a.visited_on
=> nil #WTF?
I know that filters must return true, but this one is... What could be the issue?
Are you sure your record is actually being saved? If user_id is already 5 then a.save won't perform the save. Also if visited_on is date and/or time then "test" might be converted to nil. Try using current time or something similar.
Typical stupid dev error: I had two classes Visit in my code. I dont know how it happened but deleting the empty class fixed the issue. Sorry for wasting your time.
精彩评论