如何在 Rails 上的 Ruby 中使用 <%= %> 时删除周围的引号 (")?

How to remove surrounding quotes (") while using <%= %> in Ruby on Rails?

我有一个 Rails 应用程序,其中有一个 toinsert 作为其中存储了整个 div 元素的表的列名。我想将该元素使用 jquery in HTML DOM 插入到具有 class 'map' 的元素中。我正在打一个 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>');

我无法找出导致问题的原因。

请帮忙..

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

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

请使用html_safe方法如下。

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