首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby on rails中self.current_user的使用教程?

ruby on rails中self.current_user的使用教程?
EN

Stack Overflow用户
提问于 2013-03-25 14:02:24
回答 2查看 342关注 0票数 0

我正在试着理解这段代码

代码语言:javascript
复制
module SessionsHelper

  def sign_in(user)
    cookies.permanent[:remember_token] = user.remember_token
    self.current_user = user
  end

  def current_user=(user)
    @current_user = user
  end

  def current_user
    @current_user ||= User.find_by_remember_token(cookies[:remember_token])
  end
end

使用这行代码

代码语言:javascript
复制
self.current_user = user

它是否会为SessionsController类创建一个名为current_user的变量(上面的模块属于SessionsController类)?

如果我使用

代码语言:javascript
复制
@current_user = user

代码似乎以完全相同的方式工作,而不是上面的一行。怎么做?!

非常感谢您的宝贵时间。

EN

回答 2

Stack Overflow用户

发布于 2013-03-25 14:06:10

self.current_user = user只是调用方法current_user=(user),而该方法只做@current_user = user,所以如果你做@current_user = user,它的工作原理是一样的。

票数 0
EN

Stack Overflow用户

发布于 2015-05-07 14:54:16

self.current_user = user,这个表达式是为了表明current_user是类Sessions (通过模块SessionsHelper混合)中的方法,而不是局部变量。self表示类Sessions,所以这一行只是一个方法调用,与@current_user = usercurrent_user=(user)的效果相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15608598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档