Ruby on Rails 5.2 - ActiveModel::AttributeAssignment

मॉड्यूल ActiveModel :: विशेषताऐं असाइनमेंट




ruby

मॉड्यूल ActiveModel :: विशेषताऐं असाइनमेंट

सार्वजनिक प्रवृत्ति के तरीके

assign_attributes (new_attributes) स्रोत दिखाएँ
# File activemodel/lib/active_model/attribute_assignment.rb, line 28
def assign_attributes(new_attributes)
  if !new_attributes.respond_to?(:stringify_keys)
    raise ArgumentError, "When assigning attributes, you must pass a hash as an argument."
  end
  return if new_attributes.empty?

  attributes = new_attributes.stringify_keys
  _assign_attributes(sanitize_for_mass_assignment(attributes))
end

आपको विशेषताओं के नाम से मेल खाने वाली कुंजियों के हैश में पास करके सभी विशेषताओं को सेट करने की अनुमति देता है।

यदि पारित किया गया हैश permitted? लिए प्रतिक्रिया करता है permitted? विधि और इस विधि का रिटर्न मान false एक ActiveModel::ForbiddenAttributesError अपवाद उठाया गया है।

class Cat
  include ActiveModel::AttributeAssignment
  attr_accessor :name, :status
end

cat = Cat.new
cat.assign_attributes(name: "Gorby", status: "yawning")
cat.name # => 'Gorby'
cat.status # => 'yawning'
cat.assign_attributes(status: "sleeping")
cat.name # => 'Gorby'
cat.status # => 'sleeping'
इसके अलावा उपनाम: attributes=
विशेषताएँ = (new_attributes)
इसके लिए उपनाम: assign_attributes