html - #{} 不适用于 ruby​​ on rails

标签 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}!" 

https://kconrails.com/2010/12/08/ruby-string-interpolation/

关于html - #{} 不适用于 ruby​​ on rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43305840/

上一篇:javascript - 变形按钮 - 更快的过渡

下一篇:javascript - 如何在滚动条上加载数据?

相关文章:

javascript - 使用 jQuery 访问父元素的第一个/最后一个子元素中的数据属性

Ruby 断管 @io_write - <STDOUT>

遵循 Ruby 属性命名约定的 C# JSON.NET 约定?

ruby-on-rails - 安装和使用 acts-as-taggable-on

html - css - 带有js交互的样式输入复选框

html - 使用 ASP 重复器创建一个 HTML 表格,水平重复

html - 为流体 div 提供边距显示水平滚动条

ruby-on-rails - Rails 不允许在大约超过 60000 个单元格中添加数据?

ruby-on-rails - ActiveAdmin - 在不更改密码的情况下编辑设计用户

javascript - jQuery DataTable - 隐藏列问题