Mik*_*rth 11 ruby ruby-on-rails
我在轨道教程中看到过这段代码
def access_denied
redirect_to login_path, :notice => "Please log in to continue" and return false
end
Run Code Online (Sandbox Code Playgroud)
在学习rails之前,我做了大量的ruby研究,我读过的书都没有涵盖这里的"返回错误"语法.我在rails语法中找不到任何提及它,是否有人能够提供链接或任何解释清除它?
我不明白这里需要"和",因为我认为ruby总会返回最后一个评估的表达式.
Mau*_*res 22
在和有你能写的唯一的回报假在同一行此前的说法.
它相当于这样做:
redirect_to login_path, :notice => "Please log in to continue"
return false
Run Code Online (Sandbox Code Playgroud)
它不完全相同,因为如果redirect_to方法返回的内容不是nil或false,那么它只会返回false ,但是它几乎总是返回一些不是nil也不是false的东西,那么语句的右边是总是执行(并返回false).
该和在Ruby中仅仅是一个别名&&和行为完全像它只有一个区别,它具有比语句的所有其他部分较低的优先级,所以首先它的计算结果无论是在它的左边,然后得到应用.Ruby也有或者与||相同 但表达式的优先级较低.
归档时间: |
|
查看次数: |
12093 次 |
最近记录: |