【发布时间】:2015-08-28 12:25:39
【问题描述】:
我正在使用带有 ruby 的活动记录(但不是 rails)。我正在使用 sqlite3,它在文件中有一个 test.db(不仅仅是在内存中)。当我使用 user.create 运行以下代码 sn-p 时,它会抱怨参数错误(当我使用 use.save 时,它会引发活动记录异常。知道我可能做错了什么吗?谢谢
require 'rubygems'
gem 'activerecord'
require 'sqlite3'
require 'active_record'
ActiveRecord::Base.logger = Logger.new(STDERR)
#ActiveRecord::Base.colorize_logging = false
ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:host => "localhost",
:database => 'test.db'
)
class User < ActiveRecord::Base
#attr_accessible :email, :full_name
attr_accessor :email
attr_accessor :full_name
validates :email, presence: true, uniqueness: true
def initialize(email, full_name)
@email = email
@full_name = full_name
end
end
puts "full_name for user:"
full_name = gets.chomp
puts "email address:"
email = gets.chomp
user = User.new(email, full_name)
#user.save
user = User.create!(email: '', full_name: '')
第一种情况下的异常(使用 User.create!):
main.rb:42:in `initialize': wrong number of arguments (1 for 2) (ArgumentError)
from /var/lib/gems/1.9.1/gems/activerecord-4.2.4/lib/active_record/inheritance.rb:61:in `new'
from /var/lib/gems/1.9.1/gems/activerecord-4.2.4/lib/active_record/inheritance.rb:61:in `new'
from /var/lib/gems/1.9.1/gems/activerecord-4.2.4/lib/active_record/persistence.rb:50:in `create!'
from main.rb:55:in `<main>'
【问题讨论】:
-
能否给出异常的stacktrace?
-
@JeanBob 添加 - 谢谢
标签: ruby sqlite activerecord