2012-03-25 2 views
1

У меня есть приложение Rails 3, которое позволяет пользователям вводить комментарии. Я хочу, чтобы какой-либо действительный URL-адрес в комментарии стал кликабельной ссылкой. Есть ли безопасный способ сделать это?Разрешить пользователям делать ссылки для ссылок в своих сообщениях

ответ

4

Для этого вы можете использовать метод auto_link.

auto_link("Go to http://www.rubyonrails.org and say hello to [email protected]") 
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and 
#  say hello to <a href=\"mailto:[email protected]\">[email protected]</a>" 

Если вы на что-то меньшее, чем Rails 3.1, это встроенный, в противном случае вам нужно будет использовать rails_autolink gem

+0

Спасибо! Это сработало. Знаете ли вы аргументы по поводу удаления его в Rails 3.1? Это кажется таким полезным. – LennonR

+1

Видимо, чтобы обеспечить более частые обновления, чем позволяет цикл выпуска Rails. Из [commit on github] (https://github.com/rails/rails/commit/81cfbf4146d3c5a58054b64112b8ce196f2fc061#actionpack/lib/action_view/helpers/text_helper.rb): «К сожалению, этот метод чрезвычайно сложно защитить правильно. метод пуленепробиваемый, требует более быстрого цикла выпуска, чем у рельсов, поэтому мы перенесли его на драгоценный камень. Пожалуйста, используйте драгоценный камень, если вам нужны функции! :-) " –

Смежные вопросы