Javascript 动态呈现存储在模型中的HTML

Javascript 动态呈现存储在模型中的HTML,javascript,html,ruby-on-rails,haml,Javascript,Html,Ruby On Rails,Haml,我想将一些Rails模型传递到视图中并进行渲染 e、 g 在控制器中 @stories = Story.all 在视图中 $('.story-text').html("#{raw @stories[0].story_text}"); 但是HTML字符串包含“和”。因此HTML不完全包含在字符串中,Javascript无法运行 e、 它变成 $('.story-text').html("<img src="/example.jpg" />"); 它以您要查找的text类型存储在数

我想将一些Rails模型传递到视图中并进行渲染

e、 g

在控制器中

@stories = Story.all
在视图中

$('.story-text').html("#{raw @stories[0].story_text}");
但是HTML字符串包含
。因此HTML不完全包含在字符串中,Javascript无法运行

e、 它变成

$('.story-text').html("<img src="/example.jpg" />");

它以您要查找的
text
类型存储在数据库中,而不是
raw
,用于转义适合嵌入javascript的字符串。它别名为
j
,因此在Haml视图中:

$('.story-text').html("#{j @stories[0].story_text}");
生成此javascript的结果:

$('.story text').html(“这是一些示例文本”);

请发布控制器代码以显示Story.all的填充方式。发布
@stories[0]的示例.story_text
story.all是通过使用CKEditor的表单填充的。控制器实际上只执行
@stories=story。all
我添加了一个示例我不太明白这是如何工作的?我会在控制器中对HTML进行编码/转义,并在我的视图中使用Javascript对其进行解码?我不会面临与quotatio相同的问题吗解码时n标记?你能添加一个与我的问题相关的示例吗?你为什么用Javascript输出?它应该在视图脚本中。你能用视图脚本动态插入HTML吗?我想单击一个链接并将HTML插入一个元素好的,我理解。你是通过AJAX获取模型数据吗?不,它们都被传递了渲染时,由控制器向视图添加数据
$('.story-text').html("#{j @stories[0].story_text}");