Ruby on Rails - 如何创建传递参数的URL?

时间:2012-05-30 21:45:23

标签: ruby-on-rails ruby

我创建了这个命名空间和路由:

命名空间:api do    resource:create_kpi,:except => [:编辑,:销毁]  端

控制器如下所示:

class Api::CreateKpiController < ApplicationController
  def create
    temp = Kpi.new(params[:data])  

    puts "temp: "
    puts temp.inspect    
  end
end

我想做这样的事情:

POST    http://127.0.0.1:my_port/api/create_kpi?data="some stuff"

但我不知道如何使用我的设置构建网址。我的网址应该怎么样?

谢谢!

3 个答案:

答案 0 :(得分:1)

您不应该在查询参数中传递POST请求中的数据,因此您的网址应该看起来像HOST:PORT / api / create_kpi和POST DATA应该有数据=&#34;一些东西&#34;

这是卷曲示例

curl -i http://HOST:PORT/api/create_kpi -F data="some stuff" 

答案 1 :(得分:1)

看起来您的路线条目应该创建一个名为api_create_kpi_path的帮助器或类似您在链接中使用的帮助器。您可以将要添加的路径辅助参数传递为查询参数,因此api_create_kpi_path(:data => "some stuff")

答案 2 :(得分:1)

如果我理解正确,你有一个控制器,你想知道在视图中放什么?

在这种情况下,由于您要发布数据,请查看form_tagform_for,rails将构建您提交帖子的所有内容。

开始使用definitive guide

之类的非常有用的资源