图片 url 用于消息

Image url for messages

我安装了活动存储,我将其用于用户头像,上传正常。我有一个消息模型,两个用户可以在其中像社交媒体上的直接消息一样互相发送消息,我想在每个用户的消息中显示头像。我无法显示图片。它会引发错误。我相信我的代码是错误的。

我的代码是部分的:

<div class="panel">
  <div class="panel-body">
    <%= image_tag(@avatar(message.user)) %>
    <strong><%= message.user.fullname %></strong>
    <span class="pull-right"><%= message.message_time %></span>
    <br/>
    <div class="row-space-2">
      <%= message.context %>
    </div>
  </div>
</div>

您可以获得正确的 URL 或附件路径:

url_for(message.user.avatar)
path_for(message.user.avatar)

这里不要使用image_tag。它是一个资产助手,旨在通过资产管道提供图像——这意味着基本上是应用程序设计一部分的静态图像。

而是使用普通的 HTML:

<img src="<%= path_for(message.user.avatar) %>">

或者 plain tag helper:

<%= tag.img src: path_for(message.user.avatar) %>