Por*_*rop 5 ruby-on-rails-3
假设您在用户控制器中,并且希望根据您可以使用的某些参数更改@user用户名.
我想知道以下内容是否有任何区别:
@user.name = params[:user][:name]
要么
@user.assign_attributes({:name=> params[:user][:name]})
提前致谢!
cjh*_*eal 7
找出这样的问题的一个很好的方法就是潜入源头.我在这里找到了检查方法activerecord/lib/active_record/attribute_assignment.rb.
activerecord/lib/active_record/attribute_assignment.rb
该assign_attributes方法实际上只是遍历给定的参数并将:name=消息发送到您的模型.但是,因为您可能分配了许多属性,所以它会考虑质量分配预防措施.(即确保该属性列为attr_accessible).
assign_attributes
:name=
attr_accessible
归档时间:
13 年,10 月 前
查看次数:
3613 次
最近记录: