我的简单的 If Else 有什么问题吗?

发布于 2024-11-27 16:05:12 字数 546 浏览 1 评论 0原文

我对 RoR/Ruby 很陌生,我似乎无法让最简单的事情发挥作用。 (相信我,我搜索谷歌并重读文档,我不知道出了什么问题)

所以在我的主要视图中,我添加了以下内容:

<%= if 1>2 %>
  <%=     print "helllloooo" %>
<%= else %>
  <%= print "nada" %>
<%= end %>

并且没有输出任何内容..

**更新**

好的,这是我的新更正代码,但它仍然无法工作

<th>
  <% if 1 > 2 %>
    <%= print "helllloooo" %>
  <% else %>
    <%= print "nada" %>
  <% end %>  
</th>

Im new to RoR/Ruby and i cant seem to get the simplest thing to work. (trust me, ive search google and reread docs, i dont know what wrong)

So in my main view, I added the following:

<%= if 1>2 %>
  <%=     print "helllloooo" %>
<%= else %>
  <%= print "nada" %>
<%= end %>

And nothing is outputted..

**UPDATE**

Ok heres my new CORRECTED code and its STILL NOT WORKING

<th>
  <% if 1 > 2 %>
    <%= print "helllloooo" %>
  <% else %>
    <%= print "nada" %>
  <% end %>  
</th>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

很酷不放纵 2024-12-04 16:05:12

您的语句不打算显示,因此不要

<%= if 1>2 %>

编写

<% if 1 > 2 %>

elseend


相同的内容编辑

<% if 1 > 2 %>
<%= "helllloooo" %>  #option 1 to display dynamic data
<% else %>
nada                 #option 2 to display static data
<% end %>

Your statements are not intended to be displayed so instead of

<%= if 1>2 %>

write

<% if 1 > 2 %>

Same thing for else and end


EDIT

<% if 1 > 2 %>
<%= "helllloooo" %>  #option 1 to display dynamic data
<% else %>
nada                 #option 2 to display static data
<% end %>
我也只是我 2024-12-04 16:05:12

您不需要对文本使用 print,甚至 ERB。另外,您的 ifelseend 语句应该是 <%,而不是 < %=:

<% if 1 > 2 %>
helllloooo
<% else %>
nada
<% end %>

You don't need to use print, or even ERB for the text. Also, your if, else, and end statements should be <%, not <%=:

<% if 1 > 2 %>
helllloooo
<% else %>
nada
<% end %>
淡笑忘祈一世凡恋 2024-12-04 16:05:12

<%= 在 ERB(Ruby 自己的模板语言)中已经意味着“打印到 HTML 响应”。

所以 <%= print '...' 的意思是“打印 print '...' 的返回类型”,这没什么。

正确的代码如下所示:

<% if 1>2 %>
<%= "helllloooo" %>
<% else %>
<%= "nada" %>
<% end %>

事实上,您甚至可以省略 <%= 因为您只是打印字符串(而不是任意对象):

<% if 1>2 %>
helllloooo
<% else %>
nada
<% end %>

<%= already means "print to the HTML response" in ERB (Ruby's own templating language).

So <%= print '...' means "print the return type of print '...'" which is nothing.

The right code would look like:

<% if 1>2 %>
<%= "helllloooo" %>
<% else %>
<%= "nada" %>
<% end %>

In fact you can even omit the <%= because you're just printing strings (not arbitrary objects):

<% if 1>2 %>
helllloooo
<% else %>
nada
<% end %>
青衫儰鉨ミ守葔 2024-12-04 16:05:12

= 就是问题所在。使用 <% 代替。 <%= 用于打印某些内容,而 <% 用于指示。

The = is the problem. Use <% instead. <%= is for printing something, while <% is for instructions.

各自安好 2024-12-04 16:05:12

对于动态内容使用:<%= %>

for dynamic content use: <%= %>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文