我有这个:
class Domainpost < ActiveRecord::Base
attr_accessible :content, :additiona, :registerdate, :expiredate, :registerin, :price
belongs_to :user
before_save { |domainpost| domainpost.content = content.downcase }
before_validation :pricecheck
validates :price, allow_blank: false, presence: true
default_scope order: 'domainposts.created_at DESC'
def pricecheck
if price.blank?
price = 'no price'
end
end
它不起作用 当保存为空白时,帖子中的价格为空白时, 知道我做错了吗?
答案 0 :(得分:4)
它不起作用,因为您设置了一个局部变量,而不是设置price
实例的属性Domainpost
。相反,你应该这样做:
def pricecheck
self.price = 'no price' if price.blank?
end
答案 1 :(得分:1)
作为@Merek Lipka和@muttonlamb的答案,您可以尝试这些方法,但我建议在您的数据库端定义default value
就像您在价格字段中的迁移一样,只需执行此操作
t.[price_data_type],:price,:default => "Your Default value"
嗯,这将照顾你相信的模型