在Rails中的文本字段中显示链接

时间:2012-09-07 02:05:19

标签: ruby-on-rails-3

在我的Rails 3.1应用程序中,我有一个用于评论的文本字段,我希望能够允许人们包含可点击的链接(而不仅仅是显示为纯文本的网址),以及让文本字段识别何时用户在其文本字段中有换行符(没有用户添加html)。我怎么能这样做?

如果用户为href输入html,则可用于显示链接: <%= simple_format(@user.description) %>

这适用于识别和显示text_field中回车符的换行符: <%= h(@user.description).gsub(/\n/, '<br/>').html_safe %>

但是,我还没弄明白如何一起做两件事。

2 个答案:

答案 0 :(得分:4)

这个怎么样?

#Doesnt work in this case
#<%= simple_format( h(@user.description).gsub(/\n/, '<br/>') ).html_safe %>

修改 好像你需要auto_link功能来实现这一目标。虽然它从轨道3.1中移除,但它可以作为宝石使用。所以如果您使用的是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

参考链接:

答案 1 :(得分:0)

使用临空宝石

Link is here.

它出色地解决了这个问题。享受!