gpt4 book ai didi

ruby-on-rails - rails 广播 274 : self[column]?

转载 作者:行者123 更新时间:2023-12-04 23:53:08 24 4
gpt4 key购买 nike

在 railscast #274 中,Ryan 在用户模型中有以下代码:

def generate_token(column)
begin
self[column] = SecureRandom.urlsafe_base64
end while User.exists?(column => self[column])
end

self[column] 指的是什么?

最佳答案

指的是方法[]=ActiveRecord对象。调用的别名:

  write_attribute(column, SecureRandom.urlsafe_base64)

以你为例。

这几乎与执行 self.attribute_name = "some-value" 相同.不同之处在于,如果您执行以下操作:

user["unknown_attribute"] = "some value"

你会得到一个 ActiveModel::MissingAttributeError: can't write unknown attribute unknown_attribute而这个:

user.unknown_attribute = "some value"

会导致 NoMethodError: undefined method unknown_attribute= for #<User:0x7185e611>

关于ruby-on-rails - rails 广播 274 : self[column]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26182318/

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