решено (см. Ниже)
Когда я пытаюсь создать или уничтожить запись (запущенную на SQLite3) в моем приложении Ruby on Rails (или в консоли), я получаю исключение SQL:
irb(main):014:0> ApiCache.all
=> []
irb(main):015:0> ApiCache.create(:hash => 'qwe', :contents => 'asd')
SQLite3::SQLException: cannot rollback - no transaction is active
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite
3/database.rb:97:in `close'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite
3/database.rb:97:in `prepare'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite
3/database.rb:134:in `execute'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/sqlite3-1.3.3-x86-mingw32/lib/sqlite
3/database.rb:517:in `rollback'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/connection_adapters/sqlite_adapter.rb:168:in `rollback_db_transaction'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/connection_adapters/abstract/database_statements.rb:176:in `transaction'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/transactions.rb:207:in `transaction'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/transactions.rb:290:in `with_transaction_returning_status'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/transactions.rb:240:in `save'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/transactions.rb:251:in `rollback_active_record_state!'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/transactions.rb:239:in `save'
from C:/RailsInstaller/Ruby1.8.7/lib/ruby/gems/1.8/gems/activerecord-3.0.6/lib/active_record
/base.rb:498:in `create'
from (irb):15
from :0
irb(main):016:0> ApiCache.all
=> [#<ApiCache id: 9, hash: "qwe", contents: "asd", created_at: "2011-05-09 13:09:31", updated_at: "
2011-05-09 13:09:31">]
Запись сохраняется в базе данных, но также выдает такую ошибку. Я попытался удалить свою БД, затем создать и перенести ее снова, но, похоже, это не принесло пользы.
Буду очень признателен за любые идеи, как это исправить. Я никогда не сталкивался с такой вещью раньше = (
РЕШЕНИЕ
Я уничтожил свою модель и создал другую. Должен быть некоторый конфликт в именах атрибутов, так как новый теперь имеет fp: string contents: text и работает хорошо. Может быть слово хэш , которое разрушило SQLite =) Спасибо вам всем!