gpt4 book ai didi

ruby-on-rails-3 - 在 Rails 3 中, = 和 allocate_attributes 之间有区别吗?

转载 作者:行者123 更新时间:2023-12-03 00:42:44 25 4
gpt4 key购买 nike

假设您在用户 Controller 中,并且想要根据可用的一些参数更改 @user 的名称。

我想知道以下之间是否有任何区别:

@user.name = params[:user][:name]

@user.assign_attributes({:name=> params[:user][:name]})

提前致谢!

最佳答案

解决此类问题的一个好方法是深入研究 source 。我在 activerecord/lib/active_record/attribute_assignment.rb Check it out here. 中找到了该方法

assign_attributes 方法实际上只会循环遍历给定的参数,并将 :name= 消息发送到您的模型。但是,由于您可能分配许多属性,因此它考虑了批量分配预防措施。 (即,确保该属性列为 attr_accessible)。

关于ruby-on-rails-3 - 在 Rails 3 中, = 和 allocate_attributes 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com