Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Can';不要改变自我的价值_Ruby On Rails - Fatal编程技术网

Ruby on rails Can';不要改变自我的价值

Ruby on rails Can';不要改变自我的价值,ruby-on-rails,Ruby On Rails,尝试在生产环境中运行Rails应用程序时,我从乘客处收到以下错误: self = SecureRandom.urlsafe_base64 它来自我的user.rb模型。你知道为什么会这样吗?完整模块如下所示: def generate_token(column) begin self = SecureRandom.urlsafe_base64 end while User.exists?(column => self[column]) end 其目的是在用户请求密码重置

尝试在生产环境中运行Rails应用程序时,我从乘客处收到以下错误:

self = SecureRandom.urlsafe_base64
它来自我的
user.rb
模型。你知道为什么会这样吗?完整模块如下所示:

def generate_token(column)
  begin
    self = SecureRandom.urlsafe_base64
  end while User.exists?(column => self[column])
end
其目的是在用户请求密码重置时设置安全令牌,密码重置来自以下内容:

def send_password_reset #From 274
  generate_token(:password_reset_token)
  self.password_reset_sent_at = Time.zone.now
  save!
  UserMailer.password_reset(self).deliver
end

有什么想法吗?我看不到任何语法错误。

在Ruby中,
self
允许您访问当前对象,并且无法设置。在这种情况下,
self
指的是
User
模型的当前实例。看起来您只是想设置password\u reset\u token列,因此:

def generate_token(column_name)
  write_attribute column_name, SecureRandom.urlsafe_base64
end