私は非常に単純な問題だと思っています。私はPhPのバックグラウンドから来て、いつもこれをやっていましたので、私はこれを間違った方法で見ているかもしれません。Ruby on Rails:表示なしのアクション
私はRoRでajaxハンドラを作成しようとしています。ユーザがボタンをクリックすると、JavaScriptがPOSTを起動し、jQueryのajax関数の "success:"パラメータを使用してユーザにフィードバックを与えます。
問題は、RoRがajaxハンドラのビューを読み込もうとしています。実際にはデータベースの作業を行うためにコントローラにいくつかの行が必要なだけで、ユーザが解釈するステータスコードをエコーします。 javascript。
これはすべてメールの購読予約ページなので、私は「ホーム」コントローラーのみを使用しています。
マイルート;
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);
}
});
}
私は、これは共通の問題だろうと思ったが、私の周りGoogleで検索して唯一のユーザーが適切なようではありません/ mcsubscribeページを訪問することはありませんよう、リダイレクトする提案を見つけることができました。 render :text => "yourtext"
が
print params[:email]
を使用して
何もレンダリングしないでOPを達成するために望んでいるまさにではありません。彼は 'params [:email]'の値だけを出力したいと考えています。 – Koraktor
あなたのリンクから** render:text => params [:email] **は完璧に感謝しています!私はそれが単純でなければならないことを知っていた。 – lynks