Thursday, November 15, 2012

[Rails] Re: How to stop ruby escaping javascript?

Sam Pei wrote in post #1084545:
> Max Shytikov wrote in post #1084457:
> I can't figure out how to pass a ruby variable into an external css or
> js file...
>
> So I have to keep all the code in one big (sigh!) rhtml...

The simplest way is to not pass the data to JavaScript, but rather get
the value from the DOM using JavaScript/jQuery. This is accomplished by
using HTML5 data attributes.

Say you have a Ruby variable x:

HTML
------------
<div id="my_div" data-x="my_ruby_value">My content</div>

JavaScript
------------
function myFunction() {
var x = $('#my_div').data("x");
// Do something with x
}

Ryan Bates did a Railscasts episode on a few techniques to keep your
JavaScript unobtrusive and yet still have access to your Ruby data:

http://railscasts.com/episodes/324-passing-data-to-javascript

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate