1
我正在使用動態表單生成器。而且我發現奇怪的行爲Mongoid字段問題
class Model
include Mongoid::Document
field :name, :type => String
end
model = Model.new
model.name = "My Name"
model.surname = "My Surname"
#=> NoMethodError: undefined method `surname='
但
model = Model.new(:name => "My Name", :surname => "My Surname")
#=> ok
model.surname
#=> "My Surname"
model.surname = "New Surname"
#=> "New Surname"
有人可以解釋爲什麼我可以創建質量分配新的領域和無法通過屬性字段添加?
謝謝@Dylan!那就是 – fl00r
這是相同的功能:'model [:surname] =「My Surname」''和'model.write_attribute(:surname,「My Surname」)''。有什麼不同?我剛剛測試過 - 看起來非常相似,但該文檔中沒有評論文章 – fl00r
源代碼具有'alias:[]:read_attribute',因此它們完全相同(與'[] ='和'write_attribute相同')。只需使用你喜歡的那個。 –