Search code examples
ruby-on-railsrubyruby-on-rails-5

Rails 5, "nil is not a valid asset source"


I have just upgraded to Rails 5 and I have a weird issue while trying to show an image.

I have the exact code I had for Rails 4:

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

But after upgrading I get:

nil is not a valid asset source

Before upgrading to Rails 5, I didn't have any similar issue.

What could be at fault here? Can it be something else and not a Rails upgrade issue?


Solution

  • The problem was that I was trying to show an image that did not exist.

    Adding unless article.image.blank? solved it:

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

    EDIT: In Rails 4, this would have just rendered nothing without errors, while in Rails 5 it raises an error. So it was, in fact, an upgrade issue.

    Big thanks to @BookOfGreg for pointing this out.