Ruby on Rails: Ação sem Vista
Tenho o que acho um problema muito simples. Sou proveniente de um PhP e costumava fazer isso o tempo todo, por isso posso estar vendo isso da maneira errad
Estou tentando criar um manipulador de ajax no RoR. Quando o usuário clica em um botão, o javascript dispara um POST e fornece feedback ao usuário usando o parâmetro "success:" da função ajax do jQuery.
O problema é que o RoR está tentando carregar uma exibição para o manipulador ajax, quando eu realmente preciso de algumas linhas no controlador para fazer o trabalho do banco de dados e ecoar um código de status que será interpretado pelo javascript do usuári
Isso é tudo apenas uma página de espera de assinatura do mailchimp, então estou usando apenas o controlador 'home'
Minhas rotas;
map.root :controller => 'home'
map.connect '/mcsubscribe', :controller => 'home', :action => 'mcsubscribe'
My Home Controller;
class HomeController < ApplicationController
def index
# no content
end
def mcsubscribe
print params[:email]
end
end
E meu javascript de teste, apenas para você entender o que está acontecendo;
function mcSubscribe() {
var email = jQuery("#signup_input_email").val();
jQuery.ajax({
type: "POST",
url: "http://domain.com/mcsubscribe",
data: "email=" + email,
cache: false,
success: function(result) {
alert(result);
}
});
}
Pensei que esse seria um problema comum, mas pesquisei no Google e só consegui encontrar sugestões para redirecionar, pois o usuário nunca visitará a página / mcsubscribe, o que não parece apropriad