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?
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.
I don't know this is compact solution or not but this code will work.
activate the fallback method in your uploader.
def default_url
"/assets/fallback/" + [version_name, "default.png"].compact.join('_')
end
Hope this will help you.
Cheers (y)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With