I am using a shared template from within another template AND also using
the
same from a controller action.
It works fine when called from the template BUT when called from the
controller the parameter is not passed in from the controller.
the controller action is -
def update
@picture = Picture.find(params[:id])
render(:template=>“shared/trip”, “image” => @picture)
end
and the shared template is - trip.rhtml
width="80"
height="60"
>
The template is invoked but the image variable within the template is
nil.
…
You have a nil object when you didn’t expect it!
The error occured while evaluating nil.file_name
…
Thanks
I tried further…
So it works if I set a attribute before calling from the controller
action.
def update
@picture = Picture.find(params[:id])
*@image = @picture
- render :template=>“shared/trip”
end
The problem now is that the same shared template is called from another
template
<%= render “shared/trip”, { “image”=>image_pp } %>
now inside trip.rhtm (the shared template) I have access to image by
@image
(attribute) if called from controller and by simple argument “image” (no
@) if called from another template.
Is there no way to pass a variable just like I do from a template?
Thanks in advance.
On 10/4/06, Nasir K. [email protected] wrote:
@picture = Picture.find(params[:id])
The template is invoked but the image variable within the template is nil.
…
You have a nil object when you didn’t expect it!
The error occured while evaluating nil.file_name
…
Thanks
–
I don’t like $_, actually the only place I like $s is in my wallet.