migration - undefined method after_save rails 4.1.1 and ruby 2.1.5 -


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