我不断收到此错误消息:
NameError - uninitialized constant Api::SessionsController:
但是我已经仔细检查过,并且我的路由配置看起来正确:
Rails.application.routes.draw do
namespace :api, defaults: {format: :json} do
resources :users, only: :create
resource :session, only: [:create, :destroy]
end
root 'static_pages#root'
end
我的控制器也使用单数session
:
class Api::SessionController < ApplicationController
def create
@user = User.find_by_credentials(
params[:user][:username],
params[:user][:password]
)
if @user
log_in(@user)
render 'api/users/show'
else
render json: ['Your request failed. Please try again.'], status: 401
end
end
我的文件夹结构如下:
答案 0 :(得分:0)
铁路有很好的官方指南。
会话是singular resource,没有引用ID。
因为您可能想对单个路径(
/account
)和复数路径(/accounts/45
)使用相同的控制器,所以单个资源映射到多个控制器。这样,例如resource :photo
和resources :photos
会创建映射到同一控制器(PhotosController
)的单数和复数路由。
因此,您需要将控制器重命名为Api::SessionsController
。
答案 1 :(得分:0)
如果要保持原样设置。
{{1}}