【发布时间】:2013-06-05 01:24:03
【问题描述】:
我正在通过使用 Rails 4e 进行敏捷 Web 开发这本书来学习 Rails。它使用以下作为我们的产品模型(改编自脚手架):
class Product < ActiveRecord::Base
attr_accessible :description, :image_url, :price, :title
validates :description, :title, :image_url, presence: true
validates :price, numericality: {greater_than_or_equal_to: 0.01}
validates :title, uniqueness: true
validates :image_url, allow_blank: true, format: {
with: %r{\.(gif|jpg|png)$}i,
message: 'Must be a valid URL for a gif, png, or jpg..'
}
end
我想知道为什么它首先测试 :image_url 的存在,然后在三次验证中确保图像 url 有效,它允许空白响应与第一次验证相矛盾。我不明白为什么这应该按原样工作。
另外一个问题,如果 image_url 为空,我如何在我的代码中测试它是否为空? (例如,在产品视图中显示默认图像。)
【问题讨论】:
标签: ruby-on-rails sqlite activerecord