Tengo lo que creo que es un problema muy simple. Vengo de un fondo de PhP, y solía hacer esto todo el tiempo, por lo que podría estar viendo esto de la manera incorrecta.Ruby on Rails: Acción sin Ver
Estoy tratando de crear un controlador de ajax en RoR. Cuando el usuario hace clic en un botón, javascript lanza un POST y le da a los comentarios del usuario el uso del parámetro "éxito:" de la función ajax de jQuery.
El problema es que RoR está intentando cargar una vista para el controlador ajax, cuando realmente solo necesito algunas líneas en el controlador para hacer el trabajo de la base de datos, y echo un código de estado que será interpretado por el usuario javascript
Esto es solo una página de suscripción de suscripción de mailchimp, así que solo estoy usando el controlador 'home'.
Mis rutas;
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
Y mi prueba de javascript, para que pueda entender lo que está pasando;
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);
}
});
}
pensé que esto sería un problema común, pero Googled alrededor y sólo pudo encontrar sugerencias para redirigir, ya que el usuario nunca visitar la página/mcsubscribe, que no parece apropiado.
Rendering nada no es exactamente lo que el PO quiere lograr. Quiere imprimir solo el valor de 'params [: email]'. – Koraktor
Desde su enlace, ** render: text => params [: email] ** funciona perfectamente gracias! Sabía que tenía que ser simple. – lynks