Pass Parameters in render - Rails 3

user749798 picture user749798 · Jul 1, 2012 · Viewed 44.8k times · Source

I've seen a couple questions on this but haven't been able to solve it...

I'm trying to pass a parameter while rendering a partial (similar to domainname.com/memory_books/new?fbookupload=yes)

Right now, I use this line:

<%= render :partial => '/memory_books/new', :fbookupload => "yes" %>

and in the partial, I have tried to get the content of fbookupload by using:

<%= fbookupload %>

which gives an "undefined local variable" error and

<%= params.inspect %>

which does not show fbookupload as a parameter.

How can I have the partial pass along the parameter :fbookupload?

Thank you.

UPDATE:

Could it have anything to do with the fact that I'm rendering this within a render?

i.e. the page (/fbookphotos/show) that has

<%= render :partial => '/memory_books/new', :fbookupload => "yes" %>

is being rendered by another page with (posts/show) via:

<%= render :partial => '/fbookphotos/show' %>

so I'm rendering this within a render.

Answer

Someth Victory picture Someth Victory · Jul 1, 2012

try this:

<%= render :partial => '/memory_books/new', :locals => {:fbookupload => "yes"} %>