如何在 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 %>");
我有一个 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 %>");