如何验证其他rails表中的字段?

时间:2012-07-31 23:26:19

标签: ruby-on-rails ruby ruby-on-rails-3 validation

好的,我有一个联系模式

class Contact < ActiveRecord::Base
  has_one :profile
  validates_presence_of :first_name
  validates_presence_of :last_name
  validates_presence_of :email

class Profile < ActiveRecord::Base
   belongs_to :contact

在我的表单上,我有来自该个人资料的字段,联系人和联系人的验证显示,但我想验证配置文件中的字段。我假设将此添加到控制器会添加错误消息。

    @contact.errors.add(:base, "Profile Company cant be blank")

任何想法

我的表单是一个form_tag BTW,我不能因为各种原因改变它..

2 个答案:

答案 0 :(得分:0)

如果要在保存拥有记录时检查关联记录的有效性:

   class Contact
        validates_associated :profile

答案 1 :(得分:0)

我不确定这是否有效

class Contack < ActiveRecord::Base
  validates_associated :profile,
    :if => Proc.new { |a| a.profile.present? }
end