我们应该为模型中的关联设置验证器吗?

时间:2013-02-06 04:31:24

标签: ruby-on-rails ruby-on-rails-3.2

我对rails很新,有些概念仍然令人困惑,所以我正在编写一个模型,我定义了我的外键,然后我也定义了一些简单的验证器,比如某些字段不应该是空白的。 例如:

class KeyPerformanceInd < ActiveRecord::Base
  #attr_accessible :name, :organization_id, :target

  include ActiveModel::ForbiddenAttributesProtection

  belongs_to :organization
  has_many  :key_performance_intervals, :foreign_key => 'kpi_id'

  validates :name, presence: true
  validates :target, presence: true
  validates :organization_id, presence: true

end

然后我想到的问题是,我应该在这个模型中写一些验证器的问题,以确保我们用作foreign_key的另一个表中的键也存在并且是有效的还是那种效果?
或者我们在RSpec测试中做了什么?而不是在模型中?

1 个答案:

答案 0 :(得分:1)

我通常会为关联编写rspec模型测试,在这种情况下

Describe KeyPerformanceInd do
  it {should belong_to(:key_performance_interval)}
end