Rails3 api使用葡萄根据其参数检索项目

时间:2012-02-17 05:55:03

标签: ruby api grape-api

我在rails 3工作

我有一个疑问,我有一种方法来根据其标签

获取项目

resources "blogs" do
  get '/tag', '/tag/:name' do
    authenticate!
    tag_name = params[:name].to_s || ""
    # query to fetch from items based on its tag associated
  end
end

上面的一个有效,现在我想更改网址

“apipath /博客?标签= TAG1” 而不是我以前做过的“apipath / blogs / tag / tag1”

所以我修改了这行

  get '/tag', '/tag/:name' do
 ###
  end

get '?tag', '?tag=:name' do
end

但这不起作用...... 请建议。

2 个答案:

答案 0 :(得分:0)

对我而言,这可行:

resources "blogs" do
  get '/tag' do
    authenticate!
    tag_name = params[:tag].to_s || ""
    # query to fetch from items based on its tag associated
  end
end

您不需要在路线中定义参数传递?这不是路由器解释的。

答案 1 :(得分:0)

您可以在路线中添加带括号的条件:

get '/tag(/:name)' do
   # params[:name] will contain the tag name
end