0
我試圖避免讓我的模型在保存時未設置任何更改時設置updated_at屬性。通過調試過程,我注意到'changed'數組列出了一個屬性,我知道這個屬性實際上並沒有從表單中改變。該屬性確實有讀者方法。該方法給出的結果與當前狀態不同。有沒有辦法手動清除閱讀器方法中該屬性上的「更改」標誌?在屬性讀取器方法上設置Rails activerecord髒標記
Wine.rb
before_save :check_for_changes
def blends
if read_attribute(:blends).nil?
"100% #{ name.split(" ").map { |w| varietals.include?(w.downcase) ? w : nil }.compact.join(" ") }"
else
read_attribute(:blends)
end
end
def check_for_changes
return changed?
end
基本上 '共混物' 的方法拍攝出 「100%[品種名稱]」 如果沒有任何共混物%的上市。這顯然干擾了'更改'標誌...
晚發表評論,但如果你用'自我[ATTR]'和'自[ATTR覆蓋您可以參考「真實」的屬性的屬性] =' – 244an 2017-11-28 21:28:27