在Rails中,我怎样才能在创建模型时使用validates_inclusion_of,而不是每次更新时都使用validates_inclusion_of?

时间:2012-07-02 15:42:46

标签: ruby-on-rails

我有一个名为Account的对象,并且每个帐户都有一个广告系列来源。目前,如果帐户已更新,且没有广告系列来源,则必须更新广告系列来源(其中的可能值位于选择列表中)。

我知道validates_presence_of有一个:on选项,允许您指定:create,:update或:save,但遗憾的是validates_inclusion_of没有此选项。我怎么能绕过这个?谢谢。

这是我的代码:

class Account < ActiveRecord::Base
  validates_inclusion_of :campaign_source, :in => CampaignSource.list, :message => "^Please let us know how you heard about us"

1 个答案:

答案 0 :(得分:4)

尝试

validates :campaign_source, :inclusion => { :in => CampaignSource.list },
                            :message => "^Please let us know how you heard about us",
                            :on => :create