我有两个链接模型(简化):
广告:
class Ad < ActiveRecord::Base
has_many :propositions
validates :pricemin
validates :pricemax
...
命题:
class Proposition < ActiveRecord::Base
belongs_to :ad
attr_accessible :price_proposition
...
我试图将price_proposition(在&#34;命题&#34;模型中)的限制添加到&#34; pricemin&#34;之间。和&#34; pricemax&#34;。
我怎么能这样做?
感谢您的帮助
答案 0 :(得分:1)
通过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
当然,您可以在方法中添加进一步的检查,具体取决于您是否允许空白等等。