如果语句比较haml生成的变量是真的

时间:2015-01-05 18:33:33

标签: ruby-on-rails haml

我的haml文件中有两个if语句

- if #{id} == 1
  %h1 #{id}

- if #{id} == 2
  %h1 #{id}

如果我有id 1或2,两者都是真的,所以我打印在页面“1 1”或“2 2”上。如何对变量值进行比较。谢谢

编辑: 这就是我传递给我的观点:

    render "show" , :locals => {:id => params[:id]}

编辑2:

这应该产生两个1,但是当id = 1时,只从最后一个标签产生1。所以我不知道会出现什么问题。还有其他想法吗?

- if id == 1
  %h1= id

- if id == 2
  %h1= id

%h1= id

答案:这很有用。 (需要字符串的引号)

- if id == "1"
   %h1= id

- if id == "2"
   %h1= id

%h1= id

1 个答案:

答案 0 :(得分:2)

尝试:

- if id == "1"
  %h1= id

- if id == "2"
  %h1= id

假设你想要:

<% if id == "1" %>
  <h1><%= id %></h1>
<% end %>

<% if id == "2" %>
  <h1><%= id %></h1>
<% end %>

如果这对您不起作用,则问题出在其他地方。