Ruby on rails 困惑于将参数从JavaScript Ajax调用传递回控制器以呈现表单

Ruby on rails 困惑于将参数从JavaScript Ajax调用传递回控制器以呈现表单,ruby-on-rails,ajax,ruby-on-rails-3.2,Ruby On Rails,Ajax,Ruby On Rails 3.2,场景:我单击页面上的一些对象、表行等,获取它们的id。例如,我单击提供者列表,获取提供者id。然后单击页面上的按钮: 现在我有了一个服务,它接受这些参数并将一个JSON传递给我,我希望在下一页中以表格形式显示它。所以这个按钮的点击就是原因 所以我要显示的页面中的表格是药房/患者,所以我有一个 PatientsController#index方法 现在,在JS端,我正在做一个类似以下的Ajax调用: // provider_id is global var and coming from the

场景:我单击页面上的一些对象、表行等,获取它们的id。例如,我单击提供者列表,获取提供者id。然后单击页面上的按钮

现在我有了一个服务,它接受这些参数并将一个JSON传递给我,我希望在下一页中以表格形式显示它。所以这个按钮的点击就是原因

所以我要显示的页面中的表格是
药房/患者
,所以我有一个
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
            }
          }
        });

      });
这样就可以打电话给/药房/患者

现在我不知道如何处理它从那里? 病人控制员:也许是这样的

def index

   if request.xhr?
     @my_json = MyNetHTTPFunction.getMeBackJSON(params)
   end
end

MyNetHTTPFunction.getMeBackJSON(params)
只是我编写的一个方法,它接受我传递给它的查询参数(希望是来自Ajax调用right?并查询web服务并返回我需要在视图中使用的JSON)。

您需要在控制器中创建一个方法(例如
def get_form
)并在指向该方法的路由中定义匹配。
match'/pharmacy/patients'=>“patients#get_form”,:via=>'get'
然后呢?我的索引方法中有什么?你建议的新方法中有什么?然后你可以访问患者的get形式方法中的那些参数。你可以进行http调用并以get形式解析json。在
/app/views/patients/\u myform.erb
中创建一个视图,并将其呈现为partial
render:partial=>“patients/myform”
在get_form方法中。patients索引您可能会有其他用途。可能会列出患者?使用其他方法是更好的方法。因为您只想呈现表单。