2011-01-13 5 views
2

2つの異なるモデルの列間で属性の一意性を検証する方法はありますか?例:Rails:複数モデル間の一意性の検証

私は自転車のモデルと車のモデルを持っています。私は新しい自転車を作るとき、その名前の他の自転車や車がないという点で自転車の名前がユニークであることを確認したい。私はこれらのモデルを1つのモデルに入れたくありません。私はレール上にある2.3.8

ありがとう。

答えて

6

レールはモデル間で検証されません(私はとにかく考えていません)。あなたはおそらくちょうど

class YourModel < ActiveRecord::Base 
    validates :uniqueness_of_a_property_across_models 

    def uniqueness_of_a_property_across_models 
    // check the other model 
    end 
end 
+0

ありがとう、それは私が考えたものですが、私はそれを行で行うことができないようにしたかった – jerry

+1

Btw Rails 3と4では、カスタム検証のために 'validates'の代わりに' validate'を書く必要があります。 – pierrea

2

たぶん、あなたの車やバイクのモデルは、この名前のようなサムス共通の性質を持つことができる、と彼らは共通のモデルを継承し、あなたの独自性検証を持つことができ、両方の...ア・ラ、チェックするために、独自のメソッドを書く必要がありますこのモデルで?

関連する問題