ruby-on-rails - RoR 中 ||= 和辅助方法的主要任务是什么?
问题描述
例如,我在 ruby on rails 上有一个有效的服务器。我的控制器有这段代码。你能告诉我更多关于 ||= 和 helper_method 的信息吗?他们在做什么?
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
helper_method :current_user
解决方案
x ||= y
是简写
x = x || y
这意味着 x 变为 y 除非 x 是真的。
在您的上下文中,这意味着除非它已经被分配,否则将被分配@current_user
。User.find...
这是一种记忆形式。
推荐阅读
- elasticsearch - Elasticsearch 高查询缓存驱逐
- c# - 在单个 ASP.NET Core WebAPI 服务中托管多个产品 API
- r - 如何使用 gsub 删除多行中的某些字符串和数字?
- terminal - iterm2 日志输出乱码
- reactjs - 扩展面板中的自定义组件无法呈现
- graphql - Gatsby Wordpress 在 GraphQL 模式中使用 createTypes 来处理缺失的 ACF 字段
- django - 如何在 HTML 中动态编写 URL
- ios - 导航栏大标题转换委托
- node.js - 如何使用 babel-node 解决“HPE_HEADER_OVERFLOW”
- html - 如何制作几个纵横比的 div 来填充剩余的屏幕高度?