【问题标题】:How to use ruby inside html tag如何在 html 标签中使用 ruby
【发布时间】:2015-05-06 13:21:38
【问题描述】:

我正在使用引导进度条,我需要动态更改进度值,为此我必须在 html 标记代码中使用 ruby​​ 变量,如下所示:

这是示例代码:

<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="70"
  aria-valuemin="0" aria-valuemax="100" style="width:70%">
    70%
  </div>
</div>

这是我想做的:

<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow=<%= @progress %>
  aria-valuemin="0" aria-valuemax="100" style="width:<%= @progress %>">
    <%= @progress %>
  </div>
</div>

任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 试试style="width: #{@progress} &gt;
  • 您需要提供更多关于这里发生的事情的信息。例如,@progress 在哪里设置?此视图代码是否在定期刷新的部分中?如果是这样,刷新它的触发器是什么?
  • @progress 的值是多少?是70 还是"70%"

标签: html ruby-on-rails ruby twitter-bootstrap


【解决方案1】:

我认为您的 html 需要重写如下:您缺少一些引号和百分比符号。我假设@progress 的值是一个数字,例如70,因此我只是用模板代码中的&lt;%= @progress %&gt; 替换了所需html 中70 的每个实例。

<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="<%= @progress %>"
  aria-valuemin="0" aria-valuemax="100" style="width:<%= @progress %>%">
    <%= @progress %>%
  </div>
</div>

【讨论】:

    【解决方案2】:

    你需要一个等号来渲染它:

    "width:<%= @progress %>"
    

    【讨论】:

    • 您的 aria-valuenow 缺少一些引号。也许这可能会产生错误。控制台有消息吗?
    【解决方案3】:

    改变这些,

    "aria-valuenow = <%= @progress%>" and
        style="width : #{@progress}"
    

    【讨论】:

      【解决方案4】:
      <%= @progress %> is "=" missing 
      or use "width:<%= @progress %>px"
      

      【讨论】:

      • width:#{@progress} 会像这样返回 width:200px 吗?或只有宽度:200
      • @progress 返回整数值?
      • 它在 #{@progress} 上给了我不匹配的属性值错误
      • 什么是“width:”返回值?
      • px 或 % 未在宽度末尾添加请添加
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 2012-10-23
      • 1970-01-01
      • 2021-12-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多