2010-05-11 52 views
0

我正在使用vestal版本2個月。一切都很好,直到今天下午。 我沒有做任何特別的事情(或者我不記得...),但代碼在其他計算機上工作正常...vestal_versions:與列命名更改相關的問題

問題是我無法保存我的模型了:rails給我這個錯誤:ActiveRecord::DangerousAttributeError: changes is defined by ActiveRecord

更改字段默認情況下是一個activerecord方法。

與控制檯,該消息是下一個:

ActiveRecord::DangerousAttributeError: changes is defined by ActiveRecord

這裏是我的本地寶石文件:

abstract (1.0.0) 
actionmailer (3.0.0.beta3) 
actionpack (3.0.0.beta3) 
activemodel (3.0.0.beta3) 
activerecord (3.0.0.beta3) 
activeresource (3.0.0.beta3) 
activesupport (3.0.0.beta3) 
arel (0.3.3) 
builder (2.1.2) 
bundler (0.9.25, 0.9.24) 
crack (0.1.7) 
erubis (2.6.5) 
god (0.9.0) 
haml (3.0.1, 2.2.23) 
i18n (0.3.7) 
mail (2.2.0) 
memcache-client (1.8.3) 
memcached (0.17.7) 
mime-types (1.16) 
polyglot (0.3.1) 
rack (1.1.0) 
rack-mount (0.6.3) 
rack-test (0.5.3) 
rails (3.0.0.beta3) 
railties (3.0.0.beta3) 
rake (0.8.7) 
savon (0.7.8, 0.7.6) 
text-format (1.0.0) 
text-hyphen (1.0.0) 
thor (0.13.6, 0.13.4) 
treetop (1.4.5) 
tzinfo (0.3.20) 

在這裏,我的Gemfile

source 'http://gemcutter.org' 

gem "rails", "3.0.0.beta3" 

gem "will_paginate", "3.0.pre" 

#gem 'nokogiri' 
#gem 'curb' 
#gem 'handsoap' 
gem 'savon' 
gem 'mysql' 
gem 'haml', '2.2.23' 
#gem 'haml', '3.0.1' 
gem 'hpricot' 
gem 'i18n', '> 0.3.5' 
gem 'i18n_routing' 
gem 'i18n_auto_scoping' 
gem 'handler301', :git => 'http://github.com/kwi/handler301.git' 
gem 'seo_meta_builder' 

gem 'vestal_versions' 

#gem 'paperclip', :git => 'git://github.com/thoughtbot/paperclip.git', :branch => 'rails3' 

## Bundle edge rails: 
gem "rails", :git => "git://github.com/rails/rails.git" 

## Bundle the gems you use: 
# gem "bj" 
# gem "hpricot", "0.6" 
# gem "sqlite3-ruby", :require => "sqlite3" 
# gem "aws-s3", :require => "aws/s3" 

## Bundle gems used only in certain environments: 
# gem "rspec", :group => :test 
# group :test do 
# gem "webrat" 
# end 

如果您有任何建議來解決這個問題,我會很高興聽到他們!

謝謝

回答

2

您的模型中有一個字段叫做更改。這是一個不好的做法,因爲屬性訪問器會掩蓋原始更改方法。 ActiveRecord :: Base的方法不應該用作數據庫中的列名。

如果你還沒有改變任何東西,那麼你現在看到這件事很奇怪。你有沒有升級你的ActiveRecord gem,或者將某個專欄改名爲改動。

最簡單的修復方法是,如果您可以接受,則在數據庫中重命名您的修改列。

+0

感謝您的回答。 列更改由vestal_plugins提供,它不是我的東西:) 今天執行了一些軟件包安裝。 也許有更新的ActiveRecord?顯然有些文件已被修改成我的捆綁gem目錄有關activereccord。 pfff這是失敗! 感謝您的幫助。我會盡力修復它! – Arkan 2010-05-11 17:42:38

+0

Arkannia,你能解決這個問題嗎? – AnApprentice 2010-09-11 18:02:02