0

サーバー側で使用できるように、jquery を介してクライアント側からキャプチャされた変数をコントローラーに渡す必要があります。少しグーグルで調べたところ、Ajax 呼び出しを介して渡すことができることがわかりました。

ルート.rb

get "mymethod?Id=", :to => "sample#mymethod"

j1.js

$(function(){

var test = 1;

$(.btn).click(function(){

  $.ajax({
           url: '/mymethod?Id='+ test,
           success: function(data) {
                 }
         });
    });

});

sample_controller.rb

def mymethod
 session[:Id] = params["Id"];
end

session[:Id] を使用しようとすると、常に nil になります。

何か案は、

ありがとう

4

1 に答える 1

2

jquery で GET リクエストを行いたい場合は、次のようにすることをお勧めします。

$.ajax({
    url: '/mymethod',
    success: function(data){ // anything },
    data: { Id: test }
});

urlencode してパラメーターを正しくフォーマットするためです。

Rails では、ID への参照を削除し、コントローラーのディクショナリをroutes.rb使用して変数 Id にアクセスします (情報はこちら: http://rails.nuvvo.com/lesson/6371-action-controller-parameters ) 。params

于 2012-06-26T16:10:59.827 に答える