【问题标题】:Adding hyperlinks into microposts Hartl Rails Tutorial在微博中添加超链接 Hartl Rails 教程
【发布时间】:2013-10-05 22:58:59
【问题描述】:

我正在努力做到这一点,以便当用户将链接作为微博发布时,关注他们的用户只需单击链接并被带到网站。目前,该链接仅以文本形式发布。如何将此属性赋予微博?

这是我的微博在 _feed_item.html.erb 中的样子

    <span class="content"><%= feed_item.content %></span>

这是将微博呈现到新闻源中的部分的一部分。我需要这个“内容”部分成为一个超链接,而不仅仅是一个文本字符串“https:/....”

这是后 Rails 教程。如果需要任何更具体的代码,请告诉我。谢谢!

【问题讨论】:

  • 请发布一些代码来解释你在做什么以及到目前为止你有什么

标签: ruby-on-rails hyperlink railstutorial.org


【解决方案1】:

您可以使用 rinkurails_autolink 宝石。

根据rinku的github页面:

require 'rinku'

Rinku.auto_link(text, mode=:all, link_attr=nil, skip_tags=nil)
Rinku.auto_link(text, mode=:all, link_attr=nil, skip_tags=nil) { |link_text| ... }

对于您的用例,我会尝试将代码放入帮助程序中。例如在 micro_post_helper.rb 中:

require 'rinku'

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

然后在你的 erb* 中你可以使用那个辅助方法。

*考虑从 erb 切换到 haml。

【讨论】:

  • 我将 rinku 添加到 gemfile 中,安装了捆绑包,然后将“//=require rinku”放入我的 application.js 文件中。为了让我的微博链接变成超链接,还需要做什么?
  • 另外,我不认为 rinku 使用 JavaScript。
  • 我看到了您在答案中编辑的内容,但如果不是在 application.js 中,我不知道该放在哪里。我是否将它包裹在我的 _feed_item.html.erb 部分中的“内容”周围? (如上图)
  • 我添加了一些东西。希望对您有所帮助。
  • 我创建了助手,它给了我这个 AbstractController::Helpers::ClassMethods::MissingHelperError in StaticPagesController#home
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 2016-01-19
  • 1970-01-01
相关资源
最近更新 更多