I guess it is because I am not passing the post and user id. If I use
<%= image_tag @post.photo.url(:thumb) %> in my show action in posts
controller it is working fine. But, I still dont know how to display
photos in my collection.
Any suggestions?
Using the new Rails method is prettier. If Rails sees @recent_posts
it will automatically assume the name for the partial and pass through
recent_posts as a local posts variable.
and it will end up with this error:
"undefined method `symbolize_keys!' for \"/posts/24?user_id=1\":String"
The :collection passed through is @posts. But you are referencing
recent_posts instead which is different.
If you go with rails iterating through the collection then the
singularization of the plural name will create "recent_post" from
"@recent_posts" and you can reference the name that way.
<%= image_tag recent_post.photo.url(:thumb) %>
If passing in @recent_posts doesn't make sense then you would need to
reference through @posts with something like
post.photo.url(:thumb)
where post was created by rails for iterating over the @posts
collection.