Rails控制器中的自定义方法

时间:2013-09-04 04:15:33

标签: ruby-on-rails ruby-on-rails-3.1

我需要从我的Android应用程序中调用控制器中的自定义方法。我有一个表名'lists',它有多列,其中一列是'tableno'。我需要调用一个控制器方法,该方法将从DB中的lists表中获取传递的表号中的所有行,并将其作为JSON返回。在我的应用程序中,我将阅读JSON。我在list控制器中定义了如下方法:

def tableOrder
    @list = List.where(:tableno => params[:tableno])

    respond_to do |format|
      format.json { render json: @list }
    end
end

在我提供的路线文件中

resources :lists do
  member do
   get 'tableOrder'
  end
end

我用我的Android应用程序执行的网址是lists/tableOrder get方法。我从Android应用程序发送的参数是JSONObject:jsonObject.put("tableno", tableNo);。 tableno这是我的列表表中的实际列名。

问题是它没有执行查询并给出Missing模板错误。我检查了服务器,它甚至没有读我发送的参数。我是第一次使用rails并写这样的东西,所以不确定我是否遗漏了一些东西。请指教。感谢。

1 个答案:

答案 0 :(得分:1)

尝试点击lists/tableOrder.json。默认格式为.html,这就是它抱怨无法找到模板的原因。