so pc refreshed (all applications lost) had reinstall rails , went project doing before refresh. when booted project folder , tried migrate db, got error:
c:\railsprojects\blog>rake db:migrate dl deprecated, please use fiddle
-- after_save(:assign_date)
-- after_save(:assign_date)
rake aborted!
nomethoderror: undefined method after_save' #<activerecord::migration:0x262be10> c:/railsprojects/blog/db/migrate/20150318235356_add_date_to_articles.rb:7:in' c:/railsprojects/blog/db/migrate/20150318235356_add_date_to_articles.rb:1:in `'
and migration file follows:
class adddatetoarticles < activerecord::migration def change add_column :articles, :date, :date end after_save :assign_date protected def assign_date self.date = date.current end end any suggestions on can change? feel may rails install i've updated rails gem it's still failing.
you have define after_save callback in model, not in migration. have article model define
class article < activerecord::base after_save :assign_date protected def assign_date self.date = date.current end end but careful, since think not expect. if want save every time create object have run in before_save callback.
and tell more, don't need it! create field created_at or created_on in table, instead of date (very bad name) , rails no need of callbacks of kind.
created_at save timestamp time in object created, created_on keep date instead of timestamp. have field updated_at/on keep timestamp/date of last update.
Comments
Post a Comment