导轨 5, "nil is not a valid asset source"



我刚刚升级到 Rails 5,在尝试显示图像时遇到了一个奇怪的问题。

我有 Rails 4 的确切代码:

<%= image_tag article.image_url(:thumb) %>

但是升级后我得到:

nil is not a valid asset source

在升级到 Rails 5 之前,我没有任何类似的问题

这里可能有什么错? 难道是别的东西,而不是Rails升级的问题吗?

问题是我试图显示一个不存在的图像。

添加unless article.image.blank?解决了它:

<%= image_tag article.image_url(:thumb) unless article.image.blank? %>

编辑:Rails 4中,如果没有错误,这将什么都不呈现,而在轨道 5 它引发错误。所以这实际上是一个升级问题。

非常感谢@BookOfGreg指出这一点。

我不知道

这是否是紧凑的解决方案,但这段代码会起作用。

在上传工具中激活回退方法。

  def default_url
    "/assets/fallback/" + [version_name, "default.png"].compact.join('_')
  end

希望这对您有所帮助。

干杯 (y)

试试这个,你需要在你的代码中添加除非条件。您需要添加以下代码

<%= image_tag article.image_url(:thumb) 除非 article.image.blank? %>

我希望这段代码片段能帮助那些未来的读者。

<td><%= image_tag image.picture.url, size: "100x100" unless image.picture.url.blank? %></td>

没有unless image.picture.url.blank?代码的一部分,

"nil 不是有效的资产来源"

上传空图像时显示。

相关内容

最新更新