rendering instance value to partial views from controller

hi i have a problem in graphs:

am representing data in graphical view and in that i put from date, end date and search button

when i select from date, end date and when i press search, values are going into controller through ajax and rendering partial but i can’t able to pass the instance variable in partial view. i have tried the following

in the controller:

def abc

@x1 = Model1.all

@y1 = Model2.all

render :partial => “partial_name”, :@x1 => @x1, :@y1 => @y1

render :partial => “filter_data”, :locals => { :@x1=> @x1, :@y1 => @y1 }


in the partial view:

render :partial => "filter_data", :locals => { :x1=>@x1, :y1 => @y1 }
then use x1 and y1 in the partial. See

If that still does not work then insert puts statements in the partial
to print the values of things to see what is going on. The print will
appear in the server window. Then you will know whether it is getting
the data to the view that is the problem or whether it is the view
code itself.


i have tried x1 and y1 also still i didn’t get the graph it is showing empty page, but when i render that @x1 or x1 in text_field_tag it is displaying. How can i pass that variables in javascript

We have two options. The first option is the suggested solution.

  1. Change all instance variables to a local variable and pass it to the partial with the locals argument of render.

  2. Set the instance variable before the partial is rendered. Partials have access to all the instance variables that your controller sets.

First of all I suggest you to try firebug in firefox. Then you can see exactly what is returned for your request. In your case you might need escaping javascript with javascript_escape.

yeah i have changed to local variables and passed to partial by debugging in firefox i got the expected values in javascript(partial view) but graph is not displaying according to expected values