Greetings, I'm new to rails and currently having couple problems about how to add javascript functionality into rails.
I have a simple method in the helper and i want to run this code on button click.
Greetings, I'm new to rails and currently having couple problems about how to add javascript functionality into rails.
I have a simple method in the helper and i want to run this code on button click.
The button_to_function
method’s second argument should be JavaScript, not Ruby.
You cannot call Ruby code directly from client side. You have to send an AJAX request to some controller for this purpose.
Kashif Umair Liaqat wrote in post #1125837:
You cannot call Ruby code directly from client side. You have to send an AJAX request to some controller for this purpose.
How would I do that? I have no knowledge of AJAX
Suppose you have a controller HomeController
. It should look like below.
home_controller.rb
class HomeController < ApplicationController
# GET /show_message
def show_message
format.js { render js: "alert('simple output');" }
end
end
and in your routs.rb
file add this line
get '/show_message', 'home#show_message', as: :show_message
and in your view add this line
<%= link_to "Print", show_message_path, remote: true %>
After this when you click on Print
link, and AJAX request will be sent to HomeController’sshow_message
action and it will display a javascript alert.
For better understanding of AJAX requests in Rails, follow this tutorial - http://www.tutorialspoint.com/ruby-on-rails/rails-and-ajax.htm
Thanks a lot!