我試過如下:如何正確使用datamapper回調(或掛鉤)?
class DataEntry
include DataMapper::Resource
property :id, Serial, :key => true
property :some_data, Text, :length => 1000000
property :created_at, DateTime
after :save do |entry|
if entry.created_at.strftime('%T') == "00:00:00"
@new_datetime = ((entry.created_at.to_time+1)-3600).to_datetime
entry.update!(:created_at => @new_datetime)
end
return true
end
end
這應該更改的條目已保存到00:00:01,如果是00:00:00的時間(小時:分鐘:秒)。我知道我的代碼很髒(我正在學習ruby,datamapper等,我是一個小白鼠;)),但更糟糕的是:它對模型沒有任何影響。它只是保存好像我的鉤子不存在。我究竟做錯了什麼?
(這是什麼,也許也很重要:我用這與西納特拉,所以我不能進入軌道傭工像n.hours等!)
提前感謝! ;)
哈哈是的,它的工作原理! –