在我的用户中显示可点击的URL在Rails中创建了注释

时间:2013-09-29 18:43:49

标签: ruby-on-rails ruby

我对Rails相当新,我不能100%确定如何实现以下功能。在我的Rails应用程序中,我的用户可以创建帖子并对这些帖子发表评论,但如果用户不仅将文本而且还将URL放在他们创建的评论中,我如何显示可点击的URL。这是我的帖子show.html.erb模板。

<div class="page-header">
  <h4>All Comments</h4>
</div>

<% @post.newest_comments.each do |comment| %>
  <div class="comments">
    <h5><%= comment.body %></h5>
      <li>
       <small class="muted">
        posted by <%= link_to comment.creator.username %> <%= time_ago_in_words(comment.created_at) + ' ago' %>
        <% if logged_in? && (comment.creator == current_user) %> |
        <%= link_to 'edit', edit_post_comment_path(@post, comment) %> |
          <i class="icon-user icon"></i>
        <% end %>
      </small>
      </li>
  </div>
<% end %>

1 个答案:

答案 0 :(得分:0)

我一直在使用这个宝石取得了很大的成功 - https://github.com/tenderlove/rails_autolink

更新

您无需向控制器添加require。现在您已经在Gemfile中拥有了gem,您可以在视图中执行类似的操作 -

<div class="page-header">
  <h4>All Comments</h4>
</div>

<% @post.newest_comments.each do |comment| %>
  <div class="comments">
    <h5><%= auto_link(comment.body) %></h5> # this link with the auto link helper
      <li>
       <small class="muted">
        posted by <%= link_to comment.creator.username %> <%= time_ago_in_words(comment.created_at) + ' ago' %>
        <% if logged_in? && (comment.creator == current_user) %> |
        <%= link_to 'edit', edit_post_comment_path(@post, comment) %> |
          <i class="icon-user icon"></i>
        <% end %>
      </small>
      </li>
  </div>
<% end %>

看看并试着理解这里的文档https://github.com/tenderlove/rails_autolink#synopsis它展示了您在视图中使用它的不同方式。