作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
def current_user
@_current_user ||= session[:current_user_id] &&
User.find_by_id(session[:current_user_id])
end
@_current_user 只是一个 id 还是通过其 id 找到的用户对象?
最佳答案
直接回答您的问题:如果 session 中没有 :current_user_id
值或如果不存在该用户对象,则通过其 id 或 nil
找到的用户对象编号。
基本上,如果 @_current_user
已经设置,那么它不会改变它。否则,它会检查 session[:current_user_id]
是否存在/已设置,如果是,根据 &&
运算符的性质,右侧将作为值返回的表达。右侧主要查找具有该 current_user_id
的用户。
更简单:如果 @_current_user
尚未设置,那么如果 session 有一个 current_user_id
值,它会将 @_current_user
设置为匹配该用户 ID 的 User
对象。
关于ruby-on-rails - @_current_user 这里的值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725048/
def current_user @_current_user ||= session[:current_user_id] && User.find_by_id(session[:
我是一名优秀的程序员,十分优秀!