私は車とユーザーモデルを持っています。Rails自己および関連
User.rb
has_many :cars
Car.rb
belongs_to :user
私は、そのユーザーがmdk_id
ないnilを持っている場合にのみ、車のモデルにモデルフィールドを検証したいと思います。
これは私が車のモデルを作成する方法である、
user = User.where(mdk_id: b["companyid"]).first
car = user.cars.build
はその後Car.rb
モデルでは、私がmodel
フィールドを検証したいと思います。
試しました。
validates :model if self.user.mdk_id != nil
ただし、エラーが発生します。
undefined method `user' for #<Class:0x007f973a321a58>
これをどのように参照できますか? (私はあなたがフィールドの存在を検証する必要があると仮定
validates :model, presence: true, if: proc { |car| car.user.mdk_id? }
:あなたはCar.rb
にこれらのようなvalidate :validate_user, on: [:create, :update]
def validate_user
if self.user.mdk_id == nil
#display error message here
#such as User's mdk_id cannot be null etc.
end
end
を「次にCar.rbに:
言ってやるが、あなたは次のように
model
フィールドは車がユーザーを持っており、ユーザーがmdk_id
セットを持っている時はいつでも、あなたはそれを行うことができます(必須)値を持つようにしたいですモデル、私はモデルフィールドを検証したいと思います。 - 'モデル'フィールド、プレゼンスで何を検証したいですか?一意?ほかに何か? –