vestal_versions: проблема с именованными изменениями столбцов - PullRequest
0 голосов
/ 11 мая 2010

Я работаю с версией VESTAL в течение 2 месяцев. Все было хорошо до полудня. Я не делал ничего особенного (или не помню ...), но код отлично работает на других компьютерах ...

Проблема в том, что я больше не могу сохранить свою модель: рельсы выдают мне эту ошибку: 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

Если у вас есть предложения по решению этой проблемы, я буду рад выслушать их!

Спасибо

1 Ответ

2 голосов
/ 11 мая 2010

В вашей модели есть поле, называемое изменениями. Это плохая практика, так как средство доступа к атрибуту будет маскировать исходный метод изменений. Методы ActiveRecord :: Base никогда не должны использоваться в качестве имен столбцов в базе данных.

Если вы ничего не изменили, то странно, что вы видите это сейчас. Возможно, вы обновили свой драгоценный камень ActiveRecord или переименовали столбец, чтобы что-то изменить.

Самое простое решение, если это приемлемо для вас, - переименовать столбец изменений в вашей базе данных.

...