4

私は Ruby on Rails v3.2.2 を使用しています。以前の質問を投稿した後、関連する外部キーを明示的に検証する必要があるかどうか (または必要でないか) を知り、理解したいと思い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

上記のvalidates方法は本当に必要ですか?なんで?

4

1 に答える 1

3

私はあなたがやっているようにはしませんが、私はそうします:

validates_presence_of :article, :category

絶対に必要かどうかはわかりませんが、これにより、部分的な関連付けのみを保存できなくなります。通常の Rails の使用法では部分的な関連付けを作成するのは難しいですが、この方法では発生しません。

foreign_keyまた、これらの関連付けのいずれも必要ありません。

belongs_to :article, :category
于 2012-11-12T15:44:31.663 に答える