0
私のサブスクリプションコントローラの認証をスキップしようとしていますが、役に立たないです。私の登録コントローラとセッションコントローラskip_before_filterはどちらも動作しますが、最近追加したサブスクリプションコントローラは動作しません。私は間違って何をしていますか?Rails - デビット認証をスキップすると動作しない
class V1::SubscriptionsController < ApplicationController
skip_before_filter :authenticate_user!
skip_before_filter :verify_authenticity_token, if: :json_request?
def create
@subscription = Subscription.new(subscription_params)
if @subscription.save
render json: @subscription, status: :created
else
render json: @subscription.errors, status: :unprocessable_entity
end
end
private
def subscription_params
params.require(:subscription).permit(:subscription_email)
end
end
私のアプリケーションコントローラ
class ApplicationController < ActionController::API
include CanCan::ControllerAdditions
include ActionController::RespondWith
include ActionController::Serialization
acts_as_token_authentication_handler_for User
rescue_from CanCan::AccessDenied do |exception|
respond_to do |format|
format.json { render nothing: true, status: :forbidden }
end
end
end
そして、私のルート
Rails.application.routes.draw do
devise_for :users, skip: [:sessions, :registrations, :passwords]
api_version(module: "V1", header: { name: "Accept", value: "application/vnd.rolotext.json; version=1" }) do
devise_scope :user do
post 'registrations' => 'registrations#create'
post 'sessions' => 'sessions#create'
delete 'sessions' => 'sessions#destroy'
post 'passwords' => 'passwords#create'
patch 'passwords' => 'passwords#update'
post 'passwords/check_email' => 'passwords#check_email'
end
get '/me' => "users#me"
patch '/me' => 'users#update'
delete '/me' => 'users#destroy'
resources :cards, except: [ :new, :edit]
patch '/logos' => 'logos#update'
resources :logos, except: [ :new, :edit, :destroy ]
resources :uploads
post '/subscriptions' => "subscriptions#create"
end
end
すべてのヘルプはムーチョが
私はそれを試みましたが、残念ながらそれは動作しません。前にも触れたように、他のコントローラは認証をスキップする際に問題はなく、authenticate_userに例外として表示されません!フィルタの前に – duwerq
最後に、私はその例外をアプリケーションコントローラに追加しようと考えていると思います。 – liborza