如何在rails上的ruby中为rinku auto_link生成的链接添加title属性?

时间:2012-06-16 02:46:23

标签: ruby-on-rails ruby-on-rails-3.1

这是当前auto_html.rb中的代码

标题必须是动态的,基本上是截断的URL的完整URL,其中截断的URL由auto_link生成。

AutoHtml.add_filter(:link).with({}) do |text, options|
  attributes = Array(options).reject { |k,v| v.nil? }.map { |k, v| %{#{k}="#{REXML::Text::normalize(v)}"} }.join(' ')

  Rinku.auto_link(text, :all, attributes) do |url|
      url.gsub(/https?:\/\//, "").truncate(25)
  end
end

1 个答案:

答案 0 :(得分:0)

您可以添加其他属性作为传递给第三个参数的字符串的一部分:

Rinku.auto_link(text, :all, 'title="my title" target="_blank"')

在您的情况下,您可以将其附加到属性变量:

AutoHtml.add_filter(:link).with({}) do |text, options|
  attributes = Array(options).reject { |k,v| v.nil? }.map { |k, v| %{#{k}="#{REXML::Text::normalize(v)}"} }.join(' ')

  attributes += ' title="My title"'

  Rinku.auto_link(text, :all, attributes) do |url|
      url.gsub(/https?:\/\//, "").truncate(25)
  end
end