我在我的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
答案 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