একাধিক বৈশিষ্ট্যের স্বতন্ত্রতার জন্য রেল 3 বৈধতা


177

আমি রেলগুলি 3.0.0.beta4 ব্যবহার করি

আমি দু'টি গুণের উপর স্বতন্ত্রতা একটি বৈধতা যোগ করতে চান, তার মানে যে আমার মডেল বৈধ হলে কয়েক 'recorded_at'এবং 'zipcode'অনন্য।

একটি বৈশিষ্ট্য এখানে সিনট্যাক্স হয়

validates :zipcode, :uniqueness => true

ধন্যবাদ

উত্তর:


333

2 রেলগুলিতে, আমি লিখতাম:

validates_uniqueness_of :zipcode, :scope => :recorded_at

কারাগারে 3:

validates :zipcode, :uniqueness => {:scope => :recorded_at}

একাধিক বৈশিষ্ট্যের জন্য:

validates :zipcode, :uniqueness => {:scope => [:recorded_at, :something_else]}

7
আমি বলব যে যুক্তিযুক্তভাবে এটি আরও বেশি বোঝা যায় যে আপনি recorded_atএকটি জিপকোডের আওতার মধ্যে অনন্য হতে হবে। validate :recorded_at, : uniqueness => { :scope => :zipcode }
অ্যারিজান

2
আপনি এখনও এটি 2 টি রেলপথটি করতে পারেন এবং আপনি একই সম্পত্তিতে বেশ কয়েকটি ধরণের বৈধতা না দিলে আমি আরও পড়তে পেলাম।
জেম

24
আপনি তিনটি দলের সাথে বৈধতা দিতে হবে validates :zipcode, :uniqueness => {:scope => [:recorded_at, :something_else]}?
গ্রেগ গুইডা

5
আমি যুক্ত করব যে আপনি যদি :scopeবিদেশী কীগুলিতে ব্যবহার করতে চান তবে একটি "বেসিক" কাজ করা সত্ত্বেও আপনাকে :fkey_idচিহ্নগুলির পরিবর্তে চিহ্নগুলি ব্যবহার করতে হবে:fkey:uniqueness:fkey
nbarraille

1
আপনি সম্ভবত একটি কাস্টম ত্রুটি যুক্ত করতে চান , :message => ' is taken for this recorded date'
_

96

একাধিক স্কোপ পরামিতি:

class TeacherSchedule < ActiveRecord::Base
  validates_uniqueness_of :teacher_id, :scope => [:semester_id, :class_id]
end

http://apidock.com/rails/ActiveRecord/Validations/ClassMethods/validates_uniqueness_of

এটি গ্রেগের প্রশ্নের উত্তর দেওয়া উচিত।


গ্রেগ 'বৈধতা' শর্টকাট ব্যবহার করতে আরও আগ্রহী বলে মনে হয়েছিল, তাই তার প্রশ্নের একটি দ্রুত উত্তর হ্যাঁ "হ্যাঁ"
এলসি

এটি জানা বেশ গুরুত্বপূর্ণ, আমি স্কোপগুলিতে অ্যাসোসিয়েশনগুলির জন্য যাচাই করার সময় আমার যদি _id (বা না) ব্যবহার করা উচিত তবে আমি ঠিক এটি খুঁজছিলাম।
ফ্রান্সেস্কো বেলাদোনা

পাগল 4.1.6 validates_uniqueness_of মধ্যে এই উত্তরটি কাজ: cart_id, সুযোগ: [: location_id: plug_id]
কোনোর

6

আমার জন্য কাজ না, বহুবচন মধ্যে সুযোগ রাখা প্রয়োজন

বৈধতা_সৌধিকতা_শব্দ: শিক্ষক_আইডি, স্কোপ এস => [: সেমিস্টার_আইডি,: শ্রেণি_আইডি]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.