我有一些模型,让它成为带有字段的帖子:内容。任何用户都可以使用 html 提交帖子(当然还有链接:)),我想在这些链接上设置 nofollow。是否有任何 Rails 插件可以自动执行此任务?这个插件是否有能力以有条件的方式管理“nofollowing” - 例如,管理员可以添加没有 nofollow 的链接,但其他 - 只有 nofollow?
问问题
442 次
2 回答
3
这应该可以满足您的需求:https ://github.com/rgrove/sanitize/
安装插件,然后你可以运行一段文本:
<%=raw Sanitize.clean(@your_html, Sanitize::Config::BASIC) %>
您可以使用其他选项对其进行自定义,但 Config::BASIC 版本将检测该文本块中的所有链接并将 nofollow 标记添加到它们。
于 2011-10-14T16:57:44.507 回答
-2
您可以为此定义一个助手,覆盖(或更确切地说是包装)默认的 link_to
在 app/helpers/posts_helper.rb 中执行以下操作:
def nf_link_to(link_text, post)
opts = {}
opts[:rel] = "nofollow" unless post.author == "admin"
return link_to text, post, opts
end
因此,在您看来,您可以执行以下操作:
<%= nf_link_to post.title, post %>
这应该导致:
<a href="/posts/12" rel="nofollow">My First[tm] Post</a>
您应该仔细查看 link_to 的实际实现,并使您的 ''nf_link_to'' 像您希望的那样复杂(如;传递参数,也许还有一个块)。
于 2011-04-23T05:26:06.673 回答