Ruby on Rails: действие без представления

У меня есть то, что я считаю очень простой проблемой. Я родом из PhP, и все время делал это, поэтому я могу смотреть на это неправильно.

Я пытаюсь создать обработчик Ajax в RoR. Когда пользователь нажимает кнопку, javascript запускает POST и дает пользователю обратную связь, используя параметр «success:» функции jQuery ajax.

Проблема в том, что RoR пытается загрузить представление для обработчика ajax, когда мне действительно нужно всего несколько строк в контроллере для работы с базой данных, и вывести код состояния, который будет интерпретирован пользовательским javascript.

Это всего лишь страница хранения подписки на mailchimp, поэтому я использую только «домашний» контроллер.

Мои маршруты;

map.root :controller => 'home'
map.connect '/mcsubscribe', :controller => 'home', :action => 'mcsubscribe'

Мой Домашний Контроллер;

class HomeController < ApplicationController
  def index
    # no content
  end
  def mcsubscribe
    print params[:email]
  end
end

И мой тестовый javascript, просто чтобы вы понимали, что происходит;

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);
        }
    });
}

Я думал, что это будет распространенной проблемой, но я погуглил и смог найти только предложения по перенаправлению, так как пользователь никогда не заходит на страницу / mcsubscribe, что кажется неуместным.

Ответы на вопрос(4)

Ваш ответ на вопрос