シナリオ: ページでいくつかのオブジェクト、テーブル行などをクリックすると、それらの ID が取得されます。たとえば、[プロバイダー] リストをクリックして取得しますprovider_id
。次に、ページ上のボタンをクリックします。
これで、これらのパラメーターを受け入れて、次のページのテーブル フォームに表示したい JSON を返すサービスができました。したがって、このボタンのクリックがその原因です。
その中の Table を表示するページにはPharmacy/Patients
、
PatientsController#index
メソッドがあります。
今、JS
私は次のようなAjax呼び出しを行っています:
// provider_id is global var and coming from the clicks on other parts of the page.
//so we have some value like 234 for it.
$('.personlistbtn').click(function(e) {
$.ajax({
type: 'GET',
data : { 'provider' : provider_id, 'therapeutic_class' : 'all' },
url: '/pharmacy/patients',
async: false,
success: function (data) {
// not sure what to write in here really.
},
error: function () {
// show some oops error
}
}
});
});
これで /pharmacy/patients への呼び出しが行われます
今、私はそこからそれを処理する方法を混乱させていますか? PatientsController: たぶん、このようなものですか?
def index
if request.xhr?
@my_json = MyNetHTTPFunction.getMeBackJSON(params)
end
end
MyNetHTTPFunction.getMeBackJSON(params)
は、私が渡したクエリ パラメータを受け入れる、私が作成した単なるメソッドです (うまくいけば、Ajax 呼び出しから来ていると思いますか?) と Web サービスをクエリし、ビューで使用する必要がある JSON を返します。