模型Child,Ruby on Rails中父级的验证值

时间:2015-11-11 12:06:19

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

我试图在child_model中询问parent的started_on值。 我想比较,如果它有相同的时期

假设,我有这两个类

class Child < ActiveRecord::Base
  belongs_to :parent
  validates :name, presence: true, :length => { :minimum => 2, :maximum => 50 }
  validates :finished_on, presence: true, date: {not_equal: :started_on}
  validates :started_on, presence: true, date: {after: :parent.started_on}
end

这个类,Child_Class:

:parent.started_on

我需要的是parent

的started_on值

undefined method 'started_on' for :project:Symbol 给我回复

ImgUploadImg -> pom.xml
             -> base      -> pom.xml
             -> auxiliary -> pom.xml
             -> webapp    -> pom.xml

我在约会时使用了验证器 Validators 感谢

2 个答案:

答案 0 :(得分:1)

您想要在没有符号的情况下使用它。

parent.started_on

guides

中所述

答案 1 :(得分:1)

class Child < ActiveRecord::Base
  belongs_to :parent
  validates :name, presence: true, :length => { :minimum => 2, :maximum => 50 }
  validates :finished_on, presence: true, date: {not_equal: :started_on}
  validate :validate_started_on

  private

  def validate_started_on
    return if parent.nil?
    return if started_on > parent.started_on
    errors.add :started_on, :should_be_after_the_parent_started_on 
  end
end