在Ruby on Rails中使用<%=%>时如何删除引号“?

问题描述

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

我无法弄清楚是什么原因引起的。

请帮助。

解决方法

请按以下方式使用html_safe方法。

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

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

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...