Skip to content

Instantly share code, notes, and snippets.

Created August 20, 2014 03:52
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Executing action with Ajax in RoR, and modifying html without refreshing the page
<tr id="<%= %>">
<td><%= link_to 'Total', total_day_path(day), :remote => true %></td>
$("tr#<%= %> td.oTotal").html("<%= @day.oTotal %>");
$("tr#<%= %> td.dTotal").html("<%= @day.dTotal %>");
def myaction
respond_to do |format|
format.js {}
Copy link

adagio commented Aug 20, 2014

In index.html.erb we produce a link that triggers an ajax action when clicked by means of :remote => true. In this example the entity or model is Day and the action is total.

Notice that we render as id for the html element we want to manipulate. This is how we could identify and work with that specific element (any element in the identified row).

Let's look at myentity_controller.erb. There we got the repond_to block and the condition format.js {}. This indicates that javascript will be sent as response and the correspondent code must be included in a js.erb view with the name of the action (e.g. myaction.js.erb).

In myaction.js.erb we can use JQuery to manipulate the dom and html elements with the powerful help of Rails bindings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment