0
我有一个旧的项目,看起来像这样一类:在模型中使用“puts”有没有更好的选择?
class UserObserver < ActiveRecord::Observer
def after_create(user)
unless Rails.env == "development" # don't spam users when running legacy migrations
begin
UserMailer.welcome(user).deliver
subscribe_user_to_new_account_mailinglist user
rescue
# THE FOLLOWING LINE IS THE ONE THAT BOTHERS ME
puts "User##{user.id} - Signed up using an invalid email address."
end
end
end
end
正如你可以看到,有这么puts
那里。当我运行我们的测试套件,我得到的输出是这样的:
be rspec spec/models/user_spec.rb
User#1 - Signed up using an invalid email address.
...User#1 - Signed up using an invalid email address.
..User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.User#1 - Signed up using an invalid email address.
.
Finished in 12.19 seconds
18 examples, 0 failures
我没有多余的杂乱的大风扇。似乎我应该只看到绿点。
在该行上而不是puts
上做什么更好?
怎么样'Rails.logger.info'你的消息''? –
Rails.logger.debug“消息” – Debadatt
工作。如果有人把'Rails.logger'作为答案,我会接受它。谢谢。 –