2

使用 Rails 3.2 我收到一个 ActiveRecord::RecordNotSaved 并且看不到原因。我唯一想到的是某种 gem 冲突,但除此之外,据我所知,此错误违反了所有 Rails 约定和文档。

任何帮助都将受到高度赞赏,因为我的理智很快就会受到威胁。

ActiveRecord 类

=begin
  create_table "decks", :force => true do |t|
    t.string   "name"
    t.string   "deck_type"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "user_id"
    t.integer  "core_deck_id"
    t.datetime "published"
    t.datetime "deleted_at"
    t.boolean  "customizable"
    t.integer  "deck_group_id"
    t.boolean  "has_sections"
    t.string   "solid_filename_mac"
    t.string   "solid_filename_pc"
  end 
=end

class Deck < ActiveRecord::Base

  attr_accessible :name

end

我收到以下错误:

1.9.3p433 :001 > @deck = Deck.find 6850
  Deck Load (0.6ms)  SELECT `decks`.* FROM `decks` WHERE `decks`.`id` = 6850 LIMIT 1
 => #<Deck id: 6850, name: "____lizztest2", deck_type: "core", created_at: "2013-04-15 14:57:38", updated_at: "2013-04-15 18:43:04", user_id: nil, core_deck_id: nil, published: "2013-04-15 18:43:04", deleted_at: nil, customizable: true, deck_group_id: nil, has_sections: false, solid_filename_mac: nil, solid_filename_pc: nil> 
1.9.3p433 :002 > @deck.update_attributes!({name: 'new_name'})
   (0.2ms)  BEGIN
   (0.1ms)  ROLLBACK
ActiveRecord::RecordNotSaved: ActiveRecord::RecordNotSaved
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/persistence.rb:104:in `save!'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/validations.rb:56:in `save!'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/attribute_methods/dirty.rb:33:in `save!'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:264:in `block in save!'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:208:in `transaction'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:311:in `with_transaction_returning_status'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:264:in `save!'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/persistence.rb:228:in `block in update_attributes!'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:313:in `block in with_transaction_returning_status'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:208:in `transaction'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/transactions.rb:311:in `with_transaction_returning_status'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/activerecord-3.2.11/lib/active_record/persistence.rb:226:in `update_attributes!'
  from (irb):2
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
  from /Users/bliff/.rvm/gems/ruby-1.9.3-head@pss/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
  from script/rails:6:in `require'
  from script/rails:6:in `<main>'1.9.3p433 :003 >  

这是我的 Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'mysql2'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'therubyracer', :platforms => :ruby
  gem 'uglifier', '>= 1.0.3'
  gem 'yui-compressor'
end

gem 'acts-as-taggable-on'
gem 'authlogic'
gem 'daemons' # for delayed_job
gem 'delayed_job'
gem 'delayed_job_active_record'
gem 'dynamic_form'
gem 'fastercsv'
gem 'jquery-rails'
gem 'meta_search'
gem 'nokogiri'
gem 'paranoia'
gem 'paperclip', :git => "git://github.com/thoughtbot/paperclip.git"
gem 'query_trace'
gem 'rdoc'
gem 'will_paginate'

group :test do
  gem 'database_cleaner'
  gem 'factory_girl_rails'
  gem 'paperclip-matchers'
  gem 'rspec'
  gem 'rspec-rails'
  gem 'shoulda'
end
4

0 回答 0