Rails3 API для извлечения элементов на основе его параметров с использованием винограда - PullRequest
0 голосов
/ 17 февраля 2012

я работаю в рельсах 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

Выше работает, теперь я хотел бы изменить URL-адрес, как

"apipath / блоги? Тег = tag1" вместо того, что я делал раньше как "apipath / blogs / tag / tag1"

поэтому я изменил строку

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

с

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

но это не работает ... Пожалуйста, предложите.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2013

Вы можете добавить условия в маршрут с круглыми скобками:

get '/tag(/:name)' do
   # params[:name] will contain the tag name
end
0 голосов
/ 17 февраля 2012

Для меня это может работать:

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

Вам не нужно определять в своем маршруте параметры, передаваемые ?, это не интерпретируется маршрутизатором.

...