标识邮件正文中的链接以供查看

时间:2015-11-26 21:27:20

标签: ruby-on-rails activerecord database-design

我有一个rails应用程序,用户可以通过聊天互相交谈。如果他们通过聊天中的链接发送(如果您在聊天中发送任何内容,它会被保存为message.body),我希望以某种方式将其与纯文本区分开,以便能够在索引上显示链接页面以后。我怎么能这样做?目前,2个用户有一个共同的对话。消息属于对话。

我应该尝试将它们保存为不同的消息属性,如message.link吗?如果是,那么在创建消息时如何区分message.link和message.body。或者我可以简单地使用一些辅助方法并仅显示那些正文本身就是链接的message.body-s。如果消息的一半是纯文本而另一半是链接怎么办?

消息架构

create_table "messages", force: :cascade do |t|
    t.text     "body"
    t.integer  "conversation_id"
    t.integer  "user_id"
    t.string   "message_attachment"
end

1 个答案:

答案 0 :(得分:1)

您可以使用Rinku.
1.将其添加到您的gemfile

gem 'rinku'

2。在ApplicationHelper中创建一个名为find_links

的方法
  def find_links(message_body)
     Rinku.auto_link(message_body, mode=:all, link_attr=nil, skip_tags=nil).html_safe 
  end  

3。在您的视图中,将邮件正文传递给find_links方法。

= find_links(message.body)