<分区>
标签 html ruby-on-rails ruby css
<分区>
我一直在尝试在用户每次发布内容时随机显示图片。 我有图像名称“kejang (#).png”# 范围从 1 到 21。
所以我做到了。
<div class = 'article_header'>
<div class = 'article_img'>
<% kj_num = rand(20) + 1 %>
<%= kj_num %>
<%= image_tag 'kejang (#{kj_num}).PNG' %>
</div>
它确实在服务器上运行但不返回图像,仅返回标记为“x”的崩溃图像。
我想知道它哪里出了问题,并用常规数字更改了#{kj_num} 并且它起作用了。 (即,我输入 2 或 3 而不是 #{kj_num} 并且它起作用了。)
为什么#{kj_num} 不起作用?? Rails 将#{variable} 解释为简单文本。我应该如何更改我的代码?
最佳答案
#{} vs. single vs. double quotes
这里需要用双引号(")
而不是单引号(')
<div class = 'article_header'>
<div class = 'article_img'>
<% kj_num = rand(20) + 1 %>
<%= kj_num %>
<%= image_tag "kejang (#{kj_num}).PNG" %>
</div>
</div>
字符串插值是将字符串中的占位符转换为它们所代表的值以生成动态字符串的过程。您可能一直在使用它,却没有意识到它在后台的工作原理有多酷,以及如何在您自己的类中利用这种强大功能。
person = 'World'
puts "Hello, #{person}!"
关于html - #{} 不适用于 ruby on rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43305840/