gpt4 book ai didi

ruby-on-rails - Ruby on Rails 教程 if (user_id = session[ :user_id])

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:41 26 4
gpt4 key购买 nike

我正在关注 ruby on rails Michael Hartl 的教程,我不明白他是如何在 if 条件下使用赋值运算符的:

if (user_id = session[:user_id])
@current_user ||= User.find_by(id: user_id)
end

谁能解释一下背后的逻辑?

最佳答案

这是Ruby 中的一种语法糖。

Ruby 允许您在条件中分配变量并返回值

x = true #=> 返回 true

if (user_id = session[:user_id])
@current_user ||= User.find_by(id: user_id)
end

相当于

user_id = session[:user_id]
if user_id
@current_user ||= User.find_by(id: user_id)
end

为您省去一行。如果 session[:user_id] 是假的,它将假值分配给 user_id 并且不执行该 block 。

关于ruby-on-rails - Ruby on Rails 教程 if (user_id = session[ :user_id]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39235038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com