Rails Model.save Get Datetime Convertion Error: "a Conversão De Um Tipo De Dados Varchar Em Um Tipo De Dados..."
I've a problem with SQL Server and Rails. Rails and SQL Server seems to save date format in different ways: Rails way: 2011-12-15 SQL Server: 15-12-2011 As I'm running SQL Server
Solution 1:
it's dead simple...just create a file under config/initializer with the name you want, I use datetime_format.rb. With this line:
Time::DATE_FORMATS[:db]= '%d-%m-%Y %H:%M:%S'This will overwrite the default datetime format for the DB.
Solution 2:
Just found a solution:
I've created a file named "sqlserver_dateformat.rb" in Rails' lib/ folder and added this:
classActiveRecord::Base
before_save :set_sqlserver_dateformatdefset_sqlserver_dateformat
ActiveRecord::Base.connection.exec_query("set DATEFORMAT ymd")
endendNow on everymodel I've required it:
require'sqlserver_dateformat'classUser < ActiveRecord::Base# ...endI known, it's a monkey patch, but hey, it works! =]
Post a Comment for "Rails Model.save Get Datetime Convertion Error: "a Conversão De Um Tipo De Dados Varchar Em Um Tipo De Dados...""