Ruby on rails 新手:三元;如果;视图上的条件语法
我希望if条件逻辑如下:Ruby on rails 新手:三元;如果;视图上的条件语法,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,我希望if条件逻辑如下: var == 10 ? “10″ : “Not 10″ 在Rails视图中。我尝试的是: <%= session[:id]=="out"? link_to "Sign in", login_path : link_to "Sign out", logout_path%> 试试这个(唯一的区别是“和?之间的空格和括号的使用) 尽管括号在Ruby中是可选的,但在某些情况下需要它们来保持运算符优先级 IMHO三元运算符很难阅读。您还可以执行更详细的操作:
var == 10 ? “10″ : “Not 10″
在Rails视图中。我尝试的是:
<%= session[:id]=="out"? link_to "Sign in", login_path : link_to "Sign out", logout_path%>
试试这个(唯一的区别是“
和?
之间的空格和括号的使用)
尽管括号在Ruby中是可选的,但在某些情况下需要它们来保持运算符优先级
IMHO三元运算符很难阅读。您还可以执行更详细的操作:
<%= link_to("Sign in", login_path) if session[:id] == "out" %>
<%= link_to("Sign out", logout_path) if session[:id] != "out" %>
看起来不对,应该是这样的
session[:id]=="out" ?
顺便说一句,如果您需要else部分中的更多链接,请切换到if else。它可能更干净:
<% if condition %>
link
<% else %>
link
link
<% end %>
链接
链接
链接
+1最终使用了语法,谢谢。
session[:id]=="out"?
session[:id]=="out" ?
<% if condition %>
link
<% else %>
link
link
<% end %>