我有两个链接的模型(简化):
广告:class Ad < ActiveRecord::Base
has_many :propositions
validates :pricemin
validates :pricemax
...
的命题:
class Proposition < ActiveRecord::Base
belongs_to :ad
attr_accessible :price_proposition
...
我试图为price_proposition(在"proposition"模型中)添加一个介于"pricemin"one_answers"pricemax"之间的限制。
我怎么能那样做呢?
谢谢你的帮助
通过Javascript进行客户端验证绝对是一种方法。但如果你想做服务器端验证,你可以这样做:
class Proposition < ActiveRecord::Base
belongs_to :ad
attr_accessible :price_proposition
validate :price_proposition_in_range
def price_proposition_in_range
pricemin = self.ad.pricemin
pricemax = self.ad.pricemax
if self.price_proposition < pricemin || self.price_proposition > pricemax
errors.add(:price_proposition, "Must be between #{pricemin} and #{pricemax}")
end
end
.
.
.
end
当然,你可以在方法中添加进一步的检查,这取决于你是否想要允许空白等等。