Find file
Fetching contributors…
Cannot retrieve contributors at this time
98 lines (65 sloc) 2.33 KB

JavaScript helper for jQuery unobtrusive adapter


It allows to pass :params parameter to options of link_to ActionView helper and send values as form data. Example code:

  <%= link_to 'Main page', root_path, :remote => true, :params => "ref=#{request.fullpath}", :method => "post" %>

Renders to:

  <a href="/" data-remote="true" data-method="post" data-query-string="ref=/articles/1">Main page</a>

Clicking on resulting link will lead to AJAX POST with form data {ref: '/article/1'}.

Multiple params

You can use JSON-encoded hashes for multiple params. Example code:

  <%- data = {:ref => request.fullpath, :user_id =>} %>
  <%= link_to 'Main page', root_path, :remote => true, :params => data.to_json, :method => "post" %>

Renders to:

  <a href="/" data-remote="true" data-method="post" data-query-string="{&quot;ref&quot;:&quot;/articles/1&quot;,&quot;user_id&quot;:2}">Main page</a>


Copy pkg/ujs-query-data.min.js for production use or pkg/ujs-query-data.src.js for development to your project javascripts dir and include helper in your layout.

Example for Rails 3.*:

  <%= javascript_include_tag "ujs-query-data.min.js" %>

For use with assets pipeline add //=require ujs-query-data.min to your manifest file.

Development and build

To develop and build, you need Node.js, npm and coffee-script to install dependencies. For Ubuntu:

  sudo add-apt-repository ppa:chris-lea/node.js
  sudo add-apt-repository ppa:gias-kay-lee/npm
  sudo add-apt-repository ppa:gias-kay-lee/coffeescript
  sudo apt-get update
  sudo apt-get install nodejs npm coffeescript

For Mac OS X:

  brew install node
  curl | sh
  npm -d install -g coffee-script

To build helper, install dependencies via npm from helper's directory:

npm -d install .

And then run cake build:

./node_modules/.bin/cake build

To watch on modifications and recompile helper package on-the-fly, run ./node-modules/.bin/cake watch.


No tests available at this time.

Bug reports

Use issue tracker.


MIT License