gpt4 book ai didi

ruby-on-rails - 如何防止更新 Rails 中的单个属性?

转载 作者:行者123 更新时间:2023-12-04 18:14:17 25 4
gpt4 key购买 nike

提交表单时,如何防止Rails中单个属性被更新?所有其他属性都应该更新。

before_save , attr_reader或其他方式?

如果使用 before_save ,如何访问属性哈希?

rails 3.0.7

最佳答案

查看 attr_protected .

Class YourModel << ActiveRecord::Base

attr_protected :the_one_column, as: :update

# ...
end

现在作为调用 update_attributes 的一部分,您将指定 :update角色,例如
klass = YourModel.find(some_id)
klass.update_attributes(params[:your_model], as: :update)

如果 :the_one_column设置在 params传递给 update_attributes ,它会抛出一个错误。

正如@Beerlington 在他对您的问题的评论中提到的那样,您还应该查看 attr_accessible .通常最好花 30 分钟时间使用 attr_accessible 浏览应用程序白名单属性的所有模型。比使用 attr_protected 将特定属性列入黑名单.

关于ruby-on-rails - 如何防止更新 Rails 中的单个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12020296/

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