首页 > 解决方案 > 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

标签: ruby-on-rails

解决方案


x ||= y

是简写

x = x || y

这意味着 x 变为 y 除非 x 是真的。

在您的上下文中,这意味着除非它已经被分配,否则将被分配@current_userUser.find...这是一种记忆形式。


推荐阅读