Nie moge zrobic save na obiekcie stworzonym w konsoli

Problem polega na tym ze nie moge wykonac User.save, mimo ze dla innego obiektu, nie ma z tym najmniejszych problemow. Wczesniej dzialalo to bez zarzutow, bylo wiele zmian w miedzy czasie, wiec ciezko mi wskazac co moglem zepsuc.

[code]1.9.3-p327 :018 > dev = Device.new
=> #<Device id: nil, name: nil, dtype: nil, sends_logs: nil, created_at: nil, updated_at: nil>

1.9.3-p327 :019 > dev.save
(0.2ms) begin transaction
SQL (0.8ms) INSERT INTO “devices” (“created_at”, “dtype”, “name”, “sends_logs”, “updated_at”) VALUES (?, ?, ?, ?, ?) [[“created_at”, Wed, 26 Dec 2012 17:06:16 UTC +00:00], [“dtype”, nil], [“name”, nil], [“sends_logs”, nil], [“updated_at”, Wed, 26 Dec 2012 17:06:16 UTC +00:00]]
(67.2ms) commit transaction
=> true

1.9.3-p327 :020 > usr = User.new
=> #<User id: nil, name: nil, email: nil, created_at: nil, updated_at: nil, password_digest: nil, remember_token: nil>

1.9.3-p327 :021 > usr.save
(0.2ms) begin transaction
(0.1ms) rollback transaction
NoMethodError: undefined method zero?' for nil:NilClass from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/associations/alias_tracker.rb:30:inaliased_name_for’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/associations/join_dependency.rb:17:in initialize' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/relation/finder_methods.rb:220:innew’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/relation/finder_methods.rb:220:in construct_join_dependency_for_association_find' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/relation/finder_methods.rb:191:inexists?’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/validations/uniqueness.rb:33:in validate_each' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activemodel-3.2.9/lib/active_model/validator.rb:153:inblock in validate’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activemodel-3.2.9/lib/active_model/validator.rb:150:in each' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activemodel-3.2.9/lib/active_model/validator.rb:150:invalidate’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:310:in _callback_before_27' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:473:in_run__226111540__validate__819366423__callbacks’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in __run_callback' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:385:in_run_validate_callbacks’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:in run_callbacks' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activemodel-3.2.9/lib/active_model/validations.rb:228:inrun_validations!’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activemodel-3.2.9/lib/active_model/validations/callbacks.rb:53:in block in run_validations!' ... 8 levels... from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/validations.rb:50:insave’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/attribute_methods/dirty.rb:22:in save' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/transactions.rb:259:inblock (2 levels) in save’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/transactions.rb:313:in block in with_transaction_returning_status' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/database_statements.rb:192:intransaction’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/transactions.rb:208:in transaction' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/transactions.rb:311:inwith_transaction_returning_status’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/transactions.rb:259:in block in save' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/transactions.rb:270:inrollback_active_record_state!’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/activerecord-3.2.9/lib/active_record/transactions.rb:258:in save' from (irb):21 from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/railties-3.2.9/lib/rails/commands/console.rb:47:instart’
from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/railties-3.2.9/lib/rails/commands/console.rb:8:in start' from /home/ksikora/.rvm/gems/ruby-1.9.3-p327@railsSet/gems/railties-3.2.9/lib/rails/commands.rb:41:in<top (required)>’
from script/rails:7:in `require’
from script/rails:7:in[/code]
W razie potrzeby, dostarcze wszystkie potrzebne pliki.

Z gory dzieki za pomoc !

pokaż kod modelu User.

user.rb:

[code]# == Schema Information

Table name: users

id :integer not null, primary key

name :string(255)

email :string(255)

created_at :datetime not null

updated_at :datetime not null

password_digest :string(255)

class User < ActiveRecord::Base
attr_accessible :email, :name, :password, :password_confirmation
has_secure_password

before_save { |user| user.email = email.downcase }
before_save :create_remember_token


validates :name, presence: true, length: {maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i 

validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false }

validates :password, presence: true, length: { minimum: 6 }

validates :password_confirmation, presence: true

private

def create_remember_token		
  self.remember_token = SecureRandom.urlsafe_base64
end

end[/code]

Tu masz identyczny problem

W skrócie, jakiś gem nadpisał Ci railsową metodę ‘sum’, więc musisz albo wyczaić który to zrobił, albo nadpisać sobie tą metodę samemu na poprawną tak jak w linku powyżej.

Problem rozwiazany, gem descriptive-statistics nadpisywal funkcje sum. Zmienilem ja na podana w linku i dziala.

Dzieki i pozdrawiam !

Uzywaj git i git-bisect.