我已完成Micropost图像的一章。问题出现在11.4节之后,当我运行bundle exec rake test
时,我得到7个错误。我的控制台一直打印到控制台顶部的以下行:Hartl Ruby on Rails教程第11章测试问题:填写控制台的错误信息
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
app/models/micropost.rb:13:in `picture_size'
您明白了。这令人头痛,因为我甚至无法通过控制台并找出我做错了什么或如何解决它。如果它是相关的,下面是代码的应用程序/模型/ micropost.rb
class Micropost < ActiveRecord::Base
belongs_to :user
default_scope -> { order(created_at: :desc) }
mount_uploader :picture, PictureUploader
validates :user_id, presence: true
validates :content, presence: true, length: { maximum: 140 }
validate :picture_size
private
# Validates the size
def picture_size
if picture_size > 5.megabytes
errors.add(:picture, "should be less than 5MB")
end
end
end
我的问题是如何阻止app/models/micropost.rb:13:in
picture_size'`从打印出广告nauseum并填补了我的控制台?
我实际上刚刚发现它是什么,在他写的“验证:picture_size”的书中,而它应该是“验证”。我的noob-self没有处理错别字错误。 –
@LesPaul不,这不是一个错字。 'validate'用于自定义验证方法,就像你写的那样。 – sevenseacat
那么为什么当我将它改为“验证”时,我是否摆脱了所有这些错误? –