I am trying to access an instance variable from a js.erb file.
#controller
def get_person
@person = Person.find(1)
respond_to do |format|
format.js{}
end
end
#get_person.js.erb
alert('<%= @person.last_name %>')
When I browse to [controller_name_here]/get_person.js ... I get a nil object error on @person. (I know Person.find(1) returns an object)
Note: I am actually having trouble rendering a partial in my js.erb file and am trying to identify the cause.
The following works for me:
In/app/controllers/foo_controller.rb
:
class FooController < ApplicationController
def get_person
@person = Person.find(1)
respond_to do |format|
format.js
end
end
end
In /app/views/foo/get_person.js.erb
:
<%= render :partial => '/foo/some_partial', :locals => { :person => @person } %>
In /app/views/foo/_some_partial.js.erb
:
person = {
last_name: '<%= person.last_name -%>'
}
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