如何在auto_html gem中使用多个过滤器?

时间:2014-03-15 14:37:29

标签: ruby-on-rails ruby ruby-on-rails-3

我在我的Rails应用程序中使用auto_html Ruby gem来处理内容字段中的嵌入式链接。我最初使用的标准<%= @object.content_html %>方法很好。但是,这并不支持可能需要的额外过滤器。例如,它处理youtube链接和图像链接,但不处理Soundcloud链接。为了处理Soundcloud链接,我必须将代码更改为<%= auto_html(@object.content) {soundcloud} %>,如SO问题Auto_html says block not supplied中所述

然而,这只是现在支持Soundcloud,它不支持其他过滤器(Youtube,图像,链接等)。我怎样才能支持所有这些,包括soundcloud?将soundcloud添加到对象的模型中并不起作用:

auto_html_for :content do
    html_escape
    image
    youtube(:width => 400, :height => 250, :autoplay => false)
    link :target => "_blank", :rel => "nofollow"
    soundcloud
    simple_format
  end

1 个答案:

答案 0 :(得分:1)

问题是我在链接过滤器之后放置了soundcloud,因此应用程序将soundcloud链接呈现为普通链接。这是最终的模型:

auto_html_for :description do
    html_escape
    image
    youtube(:width => 400, :height => 250, :autoplay => false)
    soundcloud
    link :target => "_blank", :rel => "nofollow"
    simple_format
  end