2010-05-11 7 views
0

Je travaille avec la version vestale depuis 2 mois. Tout allait bien jusqu'à cet après-midi. Je n'ai rien fait de spécial (ou je ne me souviens pas ...) mais le code fonctionne bien sur les autres ordinateurs ...vestal_versions: problème avec la colonne nommé changements

Le problème est que je ne peux plus enregistrer mon modèle: rails donnez-moi cette erreur:

Le champ changes est par défaut une méthode activeecord.

Avec la console, le message est le suivant:

ActiveRecord::DangerousAttributeError: changes is defined by ActiveRecord

Voici mes fichiers de pierres précieuses locales:

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) 

Et voici mon 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 

Si vous avoir des suggestions pour résoudre ce problème, je serai heureux de les entendre!

Merci

Répondre

2

Vous avez un champ dans votre modèle appelé changements. Ceci est une mauvaise pratique car l'accesseur d'attribut masquera la méthode de modifications d'origine. Les méthodes d'ActiveRecord :: Base ne doivent jamais être utilisées comme noms de colonnes dans la base de données.

Si vous n'avez rien changé, il est étrange que vous le voyiez maintenant. Avez-vous mis à jour votre gemme ActiveRecord peut-être, ou renommé une colonne de quelque chose à des changements.

La solution la plus simple, si cela vous est acceptable, est de renommer votre colonne de modifications dans votre base de données.

+0

Merci pour votre réponse. Les changements de colonne sont fournis par vestal_plugins, ce n'est pas mon truc :) Il y a eu une installation de bundle effectuée aujourd'hui. Peut-être y avait-il une mise à jour d'ActiveRecord? Apparemment, certains fichiers ont été modifiés dans mon répertoire gem bundle concernant activereccord. pfff c'est l'échec! Merci pour votre aide. Je vais essayer de le réparer! – Arkan

+0

Arkannia, avez-vous pu résoudre ce problème? – AnApprentice

Questions connexes