首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Coderay呈现实际的ruby代码

Coderay呈现实际的ruby代码
EN

Stack Overflow用户
提问于 2014-09-26 10:01:04
回答 1查看 114关注 0票数 0

我安装了带有Coderay的RedCloth,以突出显示我在博客中粘贴的代码。

如果我粘贴这样的代码:

代码语言:javascript
运行
复制
 CodeRay.scan(
"set_meta_tags :og => {
        :title => @blog.title,
        :type => 'article',
        :url => current_url,
        :image => @blog.blog_images.first.image.url,
        :article => {:published_time => @blog.created_at.to_time.iso8601,
                     :modified_time => @blog.updated_at.to_time.iso8601,
                     :author => 'Name',
                     :section => @blog.categories.first.name,
                     :tags => @blog.categories.map(&:name).join(', ')
        }}",
:ruby).div(:css => :class)

我拿着这个

代码语言:javascript
运行
复制
set_meta_tags :og => {

        :title => blog</span>.title,
        <span class="symbol">:type</span> =&gt; <span class="string"><span class="delimiter">'</span><span class="content">article</span><span class="delimiter">'</span></span>,
        <span class="symbol">:url</span> =&gt; current_url,
        <span class="symbol">:image</span> =&gt; <span class="instance-variable">blog.blog_images.first.image.url,

        :article => {:published_time => blog</span>.created_at.to_time.iso8601,
                     <span class="symbol">:modified_time</span> =&gt; <span class="instance-variable">blog.updated_at.to_time.iso8601,

                     :author => ‘Name’,

                     :section => blog</span>.categories.first.name,
                     <span class="symbol">:tags</span> =&gt; <span class="instance-variable">blog.categories.map(&:name).join(‘, ’)

        }}

我怎么才能摆脱它?

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-26 10:05:31

在将标记输出到视图之前,可以通过sanitize传递标记。这将保持无害的html标记,但去掉可能有害的东西,如<script>

代码语言:javascript
运行
复制
<%= sanitize CodeRay.scan(..., :ruby).div(:css => :class) %>

如果您可以100%信任标记(我认为在本例中可以),则可以使用raw绕过转义,或者使用html_safe将字符串标记为安全。这将导致所有标签被输出。

代码语言:javascript
运行
复制
<%= raw CodeRay.scan(..., :ruby).div(:css => :class) %>

代码语言:javascript
运行
复制
<%= CodeRay.scan(..., :ruby).div(:css => :class).html_safe %>

还请参见extensions.html#output-safety

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26056946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档