Mongoid sekarang mendukung Bidang Dinamis. Dokumentasi mereka dapat ditemukan di sini:http://mongoid.org/en/mongoid/docs/documents.html#dynamic_fields
Pada dasarnya ini memperingatkan bahwa Anda harus sedikit berhati-hati dalam menyetel bidang dinamis karena akan menimbulkan kesalahan tidak ada metode jika Anda mencoba menggunakan metode pengambil dan penyetel untuk bidang yang tidak ada dalam dokumen.
[],[]=adalah pintasan untuk read_attribute(),write_attribute() , dan harus digunakan jika Anda tidak menyetel dynamic_attributes = true
di ./config/mongoid.yml file
Anda , jika tidak, Anda akan mendapatkan kesalahan tanpa metode.
Menyetel allow_dynamic_fields: true
bisa berisiko, karena Anda dapat mencemari data/skema Anda dengan bidang yang tidak diinginkan yang disebabkan oleh bug dalam kode Anda. Mungkin lebih aman untuk menyetelnya ke false
dan secara eksplisit menggunakan [],[]=
# Raise a NoMethodError if value isn't set.
person.gender
person.gender = "Male"
# Retrieve a dynamic field safely.
person[:gender]
person.read_attribute(:gender)
# Write a dynamic field safely.
person[:gender] = "Male"
person.write_attribute(:gender, "Male")