Und*_*ion 2 ruby api routing namespaces ruby-on-rails
我正在尝试使用命名空间来声明api.
我的routes.rb包含:
devise_scope :user do
namespace :api do
namespace :v1 do
match 'log_in', :to => 'token_authentications#log_in', :via => "post"
end
end
end
Run Code Online (Sandbox Code Playgroud)
我的*token_authentications_controller.rb*看起来像这样:
class Api::V1::TokenAuthenticationsController < ApplicationController
...
def log_in
...
end
...
end
Run Code Online (Sandbox Code Playgroud)
当我点击:api/v1/log_in时,我得到:
路由错误
未初始化的常量Api
那么我需要在某处声明命名空间吗?
Rails期望命名空间遵循目录结构,除非我弄错了.
鉴于您的控制器的类名Api::V1::TokenAuthenticationsController,rails希望它能够存在app/controllers/api/v1/token_authentications_controller.rb.
如果你只是将你的控制器移动到正确的文件夹,我认为你应该没事.
您可能还想确保在某处实际声明命名空间模块,例如重构您的控制器:
module Api
module V1
class TokenAuthenticationsController
...
end
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1578 次 |
| 最近记录: |