是否真的需要验证外键?

时间:2012-11-12 14:12:46

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

我正在使用Ruby on Rails v3.2.2,在发布我的previous question之后,我想知道并理解是否(或不)显式验证与{相关的外键需要{1}}。例如:

ActiveRecord::Associations

是否需要上述class CategoryAssociation < ActiveRecord::Base belongs_to :article, :foreign_key => 'article_id' belongs_to :category, :foreign_key => 'category_id' validates :article_id, :presence => true, :numericality => { :only_integer => true } validates :category_id, :presence => true, :numericality => { :only_integer => true } end 方法 ?为什么呢?

1 个答案:

答案 0 :(得分:3)

我不会像你那样做,但我会这样做:

validates_presence_of :article, :category

我不确定它是否绝对必要,但是这会阻止您仅保存部分关联。在普通的铁路使用中很难创建部分关联,但这种情况不会发生。

此外,您不需要foreign_key这两个关联,只需

belongs_to :article, :category