ruby-on-rails - Rails Controller 中的自定义方法

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

我需要从我的 Android 应用程序调用 Controller 中的自定义方法。我有一个名为“lists”的表,它有多个列,其中一列是“tableno”。我需要调用一个 Controller 方法,该方法将从数据库中的列表表中获取所有行以获取传递的表号并将其作为 JSON 返回。在我的应用程序中,我将读取 JSON。我在我的列表 Controller 中定义了如下方法:

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 应用程序执行的 URL 是 lists/tableOrderget 方法。我从我的 Android 应用程序发送的参数是一个 JSONObject:jsonObject.put("tableno", tableNo);。这里的 tableno 是我的列表表中的实际列名。

问题是它没有执行查询并给出缺少模板错误。我检查了服务器,它甚至没有读取我发送的参数。我是 Rails 的新手,第一次写这样的东西,所以不确定我是否遗漏了什么。请指教。谢谢。

最佳答案

改为尝试点击 lists/tableOrder.json。默认格式是 .html,这就是它提示找不到模板的原因。

关于ruby-on-rails - Rails Controller 中的自定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18605301/

相关文章:

ruby-on-rails - has_many 通过自己的 child

ruby-on-rails - 为命名空间下的命名路由助手添加前缀

ruby-on-rails - Michael Hartl 的 Ruby on Rails 教程 : Chapter 8. 3 - 网站表单显示两次

ruby-on-rails - 使用模型的委托(delegate)字段进行 Rails 查询

ruby-on-rails - 关于删除 Ruby on Rails 中的一对一关系

ruby-on-rails - Rails 3.1 Assets 管道 - 缺少公共(public)/ Assets 中的文件 - 为什么这不是默认值?

ruby-on-rails - 连接被拒绝 - connect(2) Ruby on Rails 邮件设置

ruby-on-rails - Rails加一以增加SQL值

ruby-on-rails - 如何在 Devise 中填充一些默认用户?

ruby-on-rails - 带嵌套属性的 Fields_for,通过关联的 has_many