1

我对 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 %>
4

1 回答 1

0

我一直在成功使用这个 gem - https://github.com/tenderlove/rails_autolink

更新

您不需要将要求添加到您的控制器。现在您的 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它演示了您可以在视图中使用它的不同方式。

于 2013-09-29T18:46:52.047 回答