在我的 Rails 3.1 应用程序中,我有一个用于评论的文本字段,我希望能够允许人们包含可点击的链接(而不仅仅是显示为纯文本的 url),以及让文本字段识别用户何时文本字段中的换行符(用户无需添加 html)。我怎样才能做到这一点?
如果用户将 html 放入 href,则这适用于显示链接:<%= simple_format(@user.description) %>
这适用于识别和显示文本字段中回车符的换行符:<%= h(@user.description).gsub(/\n/, '<br/>').html_safe %>
然而,我还没有弄清楚如何同时做到这两点。
这个怎么样?
#Doesnt work in this case
#<%= simple_format( h(@user.description).gsub(/\n/, '<br/>') ).html_safe %>
EDIT:看来你需要auto_link
函数来实现这一点。尽管它已从 Rails 3.1 中删除,但它仍可作为 gem 使用。所以如果您使用的是 Rails 3.1 或更高版本你需要从一个单独的 gem 中获取它
#in Gemfile
gem "rails_autolink", "~> 1.0.9"
#in application.rb
require 'rails_autolink'
#Run
bundle install
#now in you view use it like
<%= h auto_link(simple_format(text)) %>
auto_link
不仅可以转换网址,还可以转换可点击链接中的电子邮件地址。获取文档here http://rubydoc.info/gems/rails_autolink/1.0.9/frames.
参考链接:
- http://rubygems.org/gems/rails_autolink http://rubygems.org/gems/rails_autolink
- http://apidock.com/rails/ActionView/Helpers/TextHelper/auto_link http://apidock.com/rails/ActionView/Helpers/TextHelper/auto_link
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)