[ruby-on-rails] link_to method and click event in Rails

How do I create a link of this type:

<a href="#" onclick="document.getElementById('search').value=this.value">

using method link_to in Rails?

I couldn't figure it out from Rails docs.

This question is related to ruby-on-rails ruby

The answer is


To follow up on Ron's answer if using JQuery and putting it in application.js or the head section you need to wrap it in a ready() section...

$(document).ready(function() {
  $('#my-link').click(function(event){
    alert('Hooray!');
    event.preventDefault(); // Prevent link from following its href
  });
});

just use

=link_to "link", "javascript:function()"

another solution is catching onClick event and for aggregate data to js function you can

.hmtl.erb

<%= link_to "Action", 'javascript:;', class: 'my-class', data: { 'array' => %w(foo bar) } %>

.js

// handle my-class click
$('a.my-class').on('click', function () {
  var link = $(this);
  var array = link.data('array');
});