0

我无法让 Rinku 正常工作,即将我的微博变成超链接。我已经安装了 Rinku

gem 'rinku' 在 app/helpers/micropost_helper.erb 为微帖子创建了一个助手

require 'rinku'

module MicroPostHelper
  def add_links(text)
    Rinku.auto_link(feed_item.content)
  end
end

但我不确定如何处理(文本)开口。我知道 feed_item.content 在某个地方。这是我的 _feed_item.html.erb

<li id="<%= feed_item.id %>">
  <%= link_to gravatar_for(feed_item.user), feed_item.user %>
    <span class="user">
      <%= link_to feed_item.user.name, feed_item.user %>
    </span>
    <span class="content"><%= feed_item.content %></span>
    <span class="timestamp">
      Posted <%= time_ago_in_words(feed_item.created_at) %> ago.
    </span>
  <% if current_user?(feed_item.user) %>
    <%= link_to "delete", feed_item, method: :delete,
                                     data: { confirm: "You sure?" },
                                     title: feed_item.content %>
  <% end %>
</li>

有人可以告诉我如何让这个工作吗?我不知道如何将 _feed_item.html.erb 的第 6 行包含在 Rinku 代码中,或者如何让助手正常工作。

4

1 回答 1

0

我没有使用 rinku,但看起来你已经在你的助手中定义了一个常规的旧 ruby​​ 方法。这是一个与time_ago_in_wordsis- 类似的方法,因此您可以调用该方法并将您的feed_item.content作为参数传递。

那看起来像:

<span class="content"><%= add_links(feed_item.content) %></span>

这是否符合您的预期?

编辑:哦,我看到了别的东西:在你的add_links方法定义中,因为你将feed_item.content作为参数传入text方法中,你需要在你的方法中使用它:

  def add_links(text)
    Rinku.auto_link(text)
  end

那有意义吗?

于 2013-10-09T23:38:03.270 回答