Is there a cleaner way to build the url in the following snippet?
$(function() {
$('#name').change(function() {
$.ajax({
url: "<%= url_for({action: 'lookup'}) %>" + "?term=" + this.value,
...
}
})
})
})
Note that I should not use a hard-coded URL, because this app should be deployed at a sub-URI using Passenger.
As far as I understood, you want to do a request to the lookup action in your controller.
I recently discovered this
select(object, method, choices, options = {}, html_options = {})
inside your html_options hash you can put something like this
{data: {remote: true, url: url_for(controller: “your controller (if necessary)”, action: “lookup”)}}
so whenever you choose an option it will do an ajax request with the selected value.
Then you just need a handler in that view, or just have a lookup.js.erb file that handle the controller action
HTH
Javier Q.