@user is being assigned by a controller and it works just ok in
show.html.erb, but in myscript.js.erb I get nil as @user and exception
is
thrown.
What’s my error here? How to get around this?
I googled, but all suggestions I found were about rendering partial and
using :local option to pass a variable to it.
Is this the only option?
I’m asking because I suspect I miss something. It would look really
natural
for @user being accessible in js.erb loaded through
javascript_include_tag…
And what if it is a large array of values?..
Ok to pass them as a contents of the tag?
I know I could do it with ajax request, but how do I pass this large
amount
of data when JS is disabled…
What I’m doing is feeding data to jQuery Flot library.
And it accepts data in place of a plot initialization, e.g.
$.plot("#placeholder", data)
so I need to somehow inline this data when initializing element =>
js.erb.
And then I expect to have something like:
And I have this in myscript.js.erb
What’s my error here? How to get around this?
I googled, but all suggestions I found were about rendering partial and
using :local option to pass a variable to it.
Is this the only option?
I’m asking because I suspect I miss something. It would look really natural
for @user being accessible in js.erb loaded through
javascript_include_tag…
javascript_include_tag generates a tag in the output. When
the browser renders your page, it looks at that script tag and
requests myscript.js from your server. By now, the original controller
and its @user variable are long gone, you’re instead looking at the @user from a new controller, which is apparently null. one way of
dealing this might be
which creates a (javascript) variable called js_user_name that your
javascript would be able to use. Another option would be to pass
information about which user to pick via a query parameter (i.e.
instead of the url requested being /javascripts/myscript.js it would
be /javascripts/myscript.js?user_id=123), and have the controller that
renders the javascript set up @user accordingly.
Fred
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.