0

私はRails 4.0を使用しており、次のルートを機能させようとしています:

class Api::V1::MyController
  def get # maps to http GET
  end

  def post # maps to http POST
  end

  ... Same for PATCH PUT DELETE
end

そして、正しいroutes.rbがわかりません。

私はいくつかのバリエーションを試しました:

namespace :api do
  namespace :v1 do
    match ':controller(/:action(/:id))', via: [:get, :put, :post, :patch, :delete]
  end
end

エラーが発生します:「名前空間ブロック内でコントローラーセグメントは許可されていません」

match '/api/v1/:controller(/:action(/:id))', via: [:get, :put, :post, :patch, :delete]

エラーの結果:「定数 ApiController の自動読み込み中に循環依存関係が検出されました」

これは、URLを次のようにしたいものです。

http://www.localhost.com/api/v1/my_controller/1234
or eventually:
http://www.localhost.com/api/v1/photos/1234
http://www.localhost.com/api/v1/users1234
http://www.localhost.com/api/v1/albums/1234
http://www.localhost.com/api/v1/puppies/1234
4

1 に答える 1

1

ルートは通常、コントローラー名をパラメーターとして使用して行われることはありません-おそらくそうなる可能性がありますが、私にはよくわかりません。私はこれを試してみます

namespace :api do
  namespace :v1 do
    resources :photos, :puppies, :socks, :bits_of_string
  end
end
于 2013-10-02T18:42:17.900 に答える