неопределенный метод `authenticate_user! Api :: PostsController в Devise / Rails 4

В моем проекте есть следующие маршруты:

  root 'home#index'

  namespace :api, defaults: { format: :json } do
    devise_for :users, controllers: { sessions: "api/sessions" }
    resources :posts
  end

Модель пользователя:

class User < ActiveRecord::Base
    has_many :posts,        dependent: :destroy
    has_many :comments, dependent: :destroy

    validates :name, presence: true

    devise :database_authenticatable, :rememberable
end

Контроллер сессий:

class Api::SessionsController < Devise::SessionsController
  def create
    @user = User.find_for_database_authentication(email: params[:user][:email])
    if @user && @user.valid_password?(params[:user][:password])
        sign_in(@user)
    else
        warden.custom_failure!
      @errors = [ 'Invalid email or password' ]
        render 'api/shared/errors', status: :unauthorized
    end
    end
end

Контроллер приложений:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  #protect_from_forgery with: :exception
end

Наконец мой почтовый контроллер:

class Api::PostsController < ApplicationController
    before_action :authenticate_user!, only: [ :create ]

    def create
      current_user.posts.create!(post_params)
    end

    private

        def post_params
            params.require(:post).permit(:title, :content)
        end
end

Но когда я пытаюсь создать новый пост, я получаю следующую ошибку: «неопределенный метод` authenticate_user! Api :: PostsController ». Если я его удаляю, я получаю ошибку о методе current_user. В чем проблема? Как я могу это исправить? Заранее спасибо!!!

Ответы на вопрос(2)

Ваш ответ на вопрос