我設置一些模型通過循環屬性:如何將值設置爲alias_attribute?
USER_ATTRIBUTES = [:name, :foo]
USER_ATTRIBUTES.each do |field|
write_attribute(field, new_data[field])
end
:name
將在這裏更新,但:foo
不會,因爲它是:bar
的別名,這是我們存儲在數據庫中。在該模型中:
alias_attribute :foo, :bar
因此,當循環到達write_attribute(:foo, new_data[:foo])
它失敗ActiveModel::MissingAttributeError: can't write unknown attribute 'foo'
其中屬性first_name來自哪裏?用更多的細節詳細說明你的問題 – anusha
這將是'foo',而不是'first_name'。不好意思,現在應該都很好 – abpetkov