调试方法创建和创建!对于模型我做了这个:
class MyModel < ActiveRecord::Base
def create
puts "----MyModel.rb create"
super.create
end
def create!
puts "----MyModel.rb create!"
super.create!
end
end
但是当我运行rake db:seed
时,我在终端中看不到这些调试消息。当然,MyModel
的实例已经创建。
为什么?
答案 0 :(得分:4)
这些方法应该是类方法
它接受一些params
这对我有用
def self.create(attributes = nil, &block)
p "======================="
p 'aaaaaaaaaaa'
p "======================="
super
end
在控制台
中> User.create(email: 'aaa')
"======================="
"aaaaaaaaaaa"
"======================="
(0.2ms) BEGIN
User Exists (1.3ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'aaa' LIMIT 1
(0.3ms) ROLLBACK
=> #<User id: nil, email: "aaa",...