【问题标题】:erb without rails helpers没有导轨助手的erb
【发布时间】:2015-03-28 18:08:08
【问题描述】:

我正在将一个 python 应用程序切换到 ruby​​,并且需要在 html 中实现 erb,并且对于如何实现一些最基本的东西一无所知。似乎我查找的所有内容基本上都建议使用我无法使用的 rails 助手。我正在尝试使以下行正常工作。我认为循环中的任何内容都会被插值,但我的链接不起作用。任何帮助将不胜感激。

 <% for employee in @employees %>
        <div class="col-sm-6 col-md-3 employee">
            <a style="text-align:center;" href="/employee/#{employee.id}" class="thumbnail">
              <% if !employee.filename? %>  
              <img src='#{settings.employee_image_url}'> 
              <% else %>
              <img src='#{settings.no_image_url}'>
              <% end %>

【问题讨论】:

  • 另外,settings 是什么样的?你试过解决吗?

标签: html ruby sinatra erb


【解决方案1】:

以下应该可以解决问题。

<img src="<%= settings.no_image_url %>">

字符串插值仅由 Ruby 执行,“#{settings.no_image_url}”在您使用它的上下文中不是 Ruby 字符串。

【讨论】:

    【解决方案2】:

    尝试在此处使用双引号 '#{settings.employee_image_url}' 而不是单引号。所以"#{settings.employee_image_url}"

    【讨论】:

    • 谢谢,我实际上最终将它们取出到应用程序文件中的方法中,并在它们周围加上双引号,然后将方法放在视图中的 erb 标记之间。关于为什么锚标签没有插值的任何想法?我想如果它在一个循环中,它就已经知道它是 erb。
    • 如果它的 erb 应该被插值。当您将鼠标悬停在链接上时,您会在浏览器中看到什么?
    • 我也把它移到了一个单独的方法中。它有效地做到了这一点: " %> 基本上,你所要做的就是用双引号将你插入的任何标签添加到一个字符串中,然后加上 erb 标签任何一方。
    【解决方案3】:

    我将链接和图像标签移动到不同的方法中。包含字符串。所以..

    def tag_string 
    "<a style='text-align:center;' href='/employee/#{employee.id}' class='thumbnail'>"
    end
    

    并像这样在视图中调用它:

    <%= tag_string %>
    

    基本上,您所要做的就是用双引号将要插入的任何标签放入字符串中,然后将 erb 标签放在两边。这是我希望通过谷歌搜索找到的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 2012-03-23
      相关资源
      最近更新 更多