У меня есть очень простая проблема.Я родом из PhP, и все время делал это, поэтому, возможно, я смотрю на это неправильно.
Я пытаюсь создать обработчик ajax в RoR.Когда пользователь нажимает кнопку, javascript запускает POST и дает пользователю обратную связь, используя параметр «success:» функции ajax jQuery.
Проблема в том, что 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, чтоне кажется подходящим.