我是RoR / Ruby的新手,我似乎无法完成最简单的工作。 (相信我,我搜索谷歌和重读文档,我不知道什么是错的)
所以在我的主视图中,我添加了以下内容:
<%= if 1>2 %>
<%= print "helllloooo" %>
<%= else %>
<%= print "nada" %>
<%= end %>
没有输出任何东西..
的 的 **更新* *
好的,我的新CORRECTED代码仍然没有工作
<th>
<% if 1 > 2 %>
<%= print "helllloooo" %>
<% else %>
<%= print "nada" %>
<% end %>
</th>
答案 0 :(得分:22)
您的陈述无意显示,而不是
<%= if 1>2 %>
写
<% if 1 > 2 %>
else
和end
修改
<% if 1 > 2 %>
<%= "helllloooo" %> #option 1 to display dynamic data
<% else %>
nada #option 2 to display static data
<% end %>
答案 1 :(得分:10)
您不需要使用print
,甚至ERB作为文本。此外,您的if
,else
和end
语句应为<%
,而不是<%=
:
<% if 1 > 2 %>
helllloooo
<% else %>
nada
<% end %>
答案 2 :(得分:3)
<%=
已经意味着在ERB(Ruby自己的模板语言)中“打印到HTML响应”。
所以<%= print '...'
表示“打印返回类型的打印'...'”,这是什么。
正确的代码如下:
<% if 1>2 %>
<%= "helllloooo" %>
<% else %>
<%= "nada" %>
<% end %>
实际上你甚至可以省略<%=
,因为你只是打印字符串(而不是任意对象):
<% if 1>2 %>
helllloooo
<% else %>
nada
<% end %>
答案 3 :(得分:2)
=
是问题所在。请改用<%
。 <%=
用于打印内容,<%
用于说明。
答案 4 :(得分:1)
用于动态内容:&lt;%=%&gt;