ove*_*low 4 ruby-on-rails rails-api ruby-on-rails-4
我已经提到了这个链接
创建我自己的api但遇到路由错误,因为这是第一次使用命名空间.
这是我的控制器
class API::IndexController < ApplicationController
def index
@clients = Client.all
respond_to do |format|
format.json
end
end
end
Run Code Online (Sandbox Code Playgroud)
我的路线有
namespace :api do
resources :index
end
Run Code Online (Sandbox Code Playgroud)
这是我的inflection.rb
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'API'
end
Run Code Online (Sandbox Code Playgroud)
一旦我完成它我尝试localhost:3000/api/index.json,但抛出错误为
Routing Error
uninitialized constant API
Run Code Online (Sandbox Code Playgroud)
谁能帮忙.
小智 8
即使这个问题很老了......
我有同样的问题,我的解决方案是将api文件夹(在app/controllers和app/views中)从"API"(完整大写)重命名为"api"(全部小写)
希望这可以帮助
您的类中的名称必须与命名空间相同。尝试这个:
class Api::IndexController < ApplicationController
def index
@clients = Client.all
respond_to do |format|
format.json
end
end
end
Run Code Online (Sandbox Code Playgroud)
路线:
namespace :api do
resources :index
end
Run Code Online (Sandbox Code Playgroud)
如果您正在定义命名空间,IndexController那么API在您的命名空间中routes.rb应该写成
namespace :a_p_i do
resources :index
end
Run Code Online (Sandbox Code Playgroud)
否则,如果您想使用在路由文件中编写的内容,只需将IndexControllerform 的命名空间更改API为Api. 对于前:Api::IndexController
| 归档时间: |
|
| 查看次数: |
12033 次 |
| 最近记录: |