加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 新手:VIEW上的三元“if”条件语法

发布时间:2020-12-17 04:30:34 所属栏目:百科 来源:网络整理
导读:我想有if条件逻辑,如: var == 10 ? “10″ : “Not 10″ 在Rails上查看.我尝试的是以下内容: %= session[:id]=="out"? link_to "Sign in",login_path : link_to "Sign out",logout_path% 我知道它看起来很奇怪,并且毫不奇怪它不起作用.所以,如果我想在VIEW
我想有if条件逻辑,如:
var == 10 ? “10″ : “Not 10″

在Rails上查看.我尝试的是以下内容:

<%= session[:id]=="out"? link_to "Sign in",login_path : link_to "Sign out",logout_path%>

我知道它看起来很奇怪,并且毫不奇怪它不起作用.所以,如果我想在VIEW上使用三元if条件,在我的情况下,正确的方法是什么?

———还有一个条件———

我希望在其他情况下有两个“link_to”

—–我收到的错误信息——–

compile error

syntax error,unexpected tSTRING_BEG,expecting kDO or '{' or '('
...ession[:id]=="out" ? link_to "Sign in",

解决方法

试试这个(唯一的差异是“和?之间的空格和括号的使用”)
<%= session[:id]=="out" ? link_to("Sign in",login_path) : link_to("Sign out",logout_path) %>

在Ruby中,Altough括号是可选的,在某些情况下需要它们来维护运算符优先级.

恕我直言三元运算符很难读.你也可以做一些更冗长的事情:

<%= link_to("Sign in",login_path) if session[:id] == "out" %>
<%= link_to("Sign out",logout_path) if session[:id] != "out" %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读