2025-03-09 08:00:04

一行if语句不工作

<%if @item.rigged %>Yes<%else%>No<%end%>

我在想这样的东西?

if @item.rigged ? "Yes" : "No" 

但这并不奏效。Ruby有||=,但我甚至不知道如何使用那个东西。


当前回答

别忘了它可以从ruby标签中生成内容:

  v
<%= @item.rigged? ? "Yes" : "No" %>

标记(v)表示使用等号在html中生成文本。

其他回答

你可以使用:

(@item.rigged) ?“是”:“不是”

如果@item。如果操纵为真,它将返回'Yes'否则它将返回'No'。

从if @item中删除if。操纵?“是”:“不是”

三元运算符有窗体条件吗?If_true: if_false

If else条件可以用三元运算符覆盖

@item.rigged? ? 'Yes' : 'No'

别忘了它可以从ruby标签中生成内容:

  v
<%= @item.rigged? ? "Yes" : "No" %>

标记(v)表示使用等号在html中生成文本。

shell和C的单行结构都可以工作(ruby 1.9.3p429):

# Shell format
irb(main):022:0> true && "Yes" || "No"
=> "Yes"
irb(main):023:0> false && "Yes" || "No"
=> "No"

# C format
irb(main):024:0> true ? "Yes" : "No"
=> "Yes"
irb(main):025:0> false ? "Yes" : "No"
=> "No"