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相同')。只需使用你喜欢的那个。 –