Rails验证,查看相关记录的值

时间:2014-05-14 14:49:18

标签: ruby-on-rails validation activerecord ruby-on-rails-4

我正在寻找一种方法来根据相关记录中的状态来验证项目的更新/创建。基本上我有属于一个事件的项目。如果活动完成,我不希望能够更改项目或添加新项目。

class Event < ActiveRecord::Base
  has_many :items
end

class Item < ActiveRecord::Base
  belongs_to :event
  validates_associated :event
end

事件类在设置为 true 时有一个布尔完整我希望验证添加/更改项目失败。我还希望显示一条消息,例如&#39;此项目所属的事件已经处理过,如果不对其进行处理就无法进行更改&#39;

任何帮助都将一如既往地受到赞赏!!!

标记

1 个答案:

答案 0 :(得分:2)

你可以做这样的事情

validate :event_status

def event_status
  errors.add(:complete, 'The event was complete') if self.event.complete
end