我有我認爲是一個非常簡單的問題。我來自PhP背景,並且經常這樣做,所以我可能會以錯誤的方式來看待這個問題。Ruby on Rails:沒有視圖的動作
我想在RoR中創建一個ajax處理程序。當用戶點擊一個按鈕時,javascript會關閉POST,並使用jQuery的ajax函數的「success:」參數給用戶提供反饋。
問題是,RoR試圖爲ajax處理程序加載一個視圖,當我真的只需要在控制器中執行幾行操作來完成數據庫工作,並回顯出狀態代碼,該狀態代碼將由用戶JavaScript的。
這只是一個mailchimp訂閱頁面,所以我只使用'home'控制器。
我的路線;
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
而我的測試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頁,似乎並不合適。
渲染沒有什麼是不完全的OP想要達到的目標。他只想打印'params [:email]'的值。 – Koraktor 2012-03-02 12:35:56
從你的鏈接**渲染:text => params [:email] **非常感謝!我知道它必須簡單。 – lynks 2012-03-02 12:36:32