Я создал собственный камень для управления записями под названием «record_search», который включает в себя контроллер под названием «ApiController». В одном приложении мне нужно было подключить авторизационное поведение, чтобы предотвратить данные из будучи общедоступным, поэтому я добавил модуль ActiveSupport :: Concern, чтобы приложение могло добавить файл before_filter. Как я могу правильно проверить этот файл before_filter? (С помощью RSpec)Проблемы с контрольным контроллером (в Rails 3.2)
В Gem:
приложение/контроллеры/api_controller.rb
module RecordSearch
class ApiController < ApplicationController
respond_to :json
def search
render json: #app-specific code
end
def find
render json: #app-specific code
end
include Extensions #define any authorization logic here
end
end
Локальное приложение:
приложение/контроллеры/проблемы/record_search/extensions.rb
module RecordSearch::Extensions
extend ActiveSupport::Concern
include ApplicationHelper #defines current_user method
included do
before_filter :require_premium_user, :only => [:find,:search]
end
private
def require_premium_user
unless current_user
return render :json => {"error" => "not authorized"}
end
end
end