【问题标题】:How to remove surrounding quotes (") while using <%= %> in Ruby on Rails?在 Ruby on Rails 中使用 <%= %> 时如何删除周围的引号 (")?
【发布时间】:2020-12-10 08:34:10
【问题描述】:

我有一个 Rails 应用程序,它具有 toinsert 作为其中存储了整个 div 元素的表之一的列名。我想在 HTML DOM 中使用 jquery 将该元素插入到具有类“ma​​p”的元素中。我正在进行 AJAX 调用并使用它:

$('.map').html('<%= @dataextracted.toinsert %>');

但不是这个:

<div class='map'>
  <div class='fromdatabase'></div>
</div>

它执行以下操作:

<div class='map'>
  "<div class='fromdatabase'></div>"
</div>

所以元素作为字符串插入。我认为 可能会造成问题,所以我写了以下内容..

$('.map').html('<%= @dataextracted.toinsert %>'.substring(1, '<%= @dataextracted.toinsert %>'.length-2));

但不是从中删除引号 ("),而是删除 div 元素 () 的开始和结束标记。

还想提一下直接硬编码效果很好(只是为了调试)。

$('.map').html('<div class="fromdatabase"></div>');

我无法弄清楚是什么导致了问题。

请帮忙..

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-4 ruby-on-rails-5


    【解决方案1】:

    请使用html_safe方法如下。

    $('.map').html("<%= @dataextracted.toinsert.html_safe %>");
    

    【讨论】:

      【解决方案2】:

      由于@dataextracted.toinsert 的值中也有单引号,它可能与引用有关。尝试使用双引号:

      $('.map').html("<%= @dataextracted.toinsert %>");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-28
        • 1970-01-01
        • 2011-04-19
        • 2021-06-06
        • 2014-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多