Tôi có những gì tôi nghĩ là một vấn đề rất đơn giản. Tôi đến từ một nền tảng PhP, và thường xuyên làm điều này, vì vậy tôi có thể nhìn vào điều này một cách sai lầm.Ruby on Rails: Hành động mà không cần xem
Tôi đang cố gắng tạo trình xử lý ajax trong RoR. Khi người dùng nhấp vào một nút, javascript sẽ kích hoạt POST và cung cấp phản hồi của người dùng bằng thông số "success:" của hàm ajax của jQuery.
Vấn đề là, RoR đang cố gắng tải chế độ xem cho trình xử lý ajax, khi tôi thực sự chỉ cần một vài dòng trong bộ điều khiển để thực hiện công việc cơ sở dữ liệu và lặp lại mã trạng thái. javascript.
Đây chỉ là một trang giữ đăng ký mailchimp, vì vậy tôi chỉ sử dụng bộ điều khiển 'nhà'.
Tuyến đường của tôi;
map.root :controller => 'home'
map.connect '/mcsubscribe', :controller => 'home', :action => 'mcsubscribe'
Bộ điều khiển chính của tôi;
class HomeController < ApplicationController
def index
# no content
end
def mcsubscribe
print params[:email]
end
end
Và javascript thử nghiệm của tôi, chỉ để bạn hiểu những gì đang diễn ra;
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);
}
});
}
Tôi nghĩ đây sẽ là một vấn đề thường gặp, nhưng tôi đã googled xung quanh và chỉ được quản lý để tìm gợi ý để chuyển hướng, như là người dùng sẽ không bao giờ truy cập vào trang/mcsubscribe, mà dường như không thích hợp.
Rendering không có gì không phải là chính xác những gì OP muốn đạt được. Anh ta muốn in chỉ giá trị của 'params [: email]'. – Koraktor
Từ liên kết của bạn, ** hiển thị: text => params [: email] ** hoạt động hoàn hảo nhờ! Tôi biết nó phải đơn giản. – lynks