AbstractController::ActionNotFound (The action 'create' could not be found for Api::V1::EventsController):
fulcalendarを使って、イベントを管理できるものを作成しながら、勉強中です。
カレンダーを表示させ、日付にクリックすると、イベントを入力できるようにしたいです。
gem'fullcalendar-rails'を使用してます。application.jsに以下のコードを記述しています。
dataには、入力した情報を取得しています。
..... $.ajax({ type: "POST", url: "/api/v1/events", data: data, success: function() { calendar.fullCalendar('refetchEvents'); } .....
受け取る側のroutes.rb、api/v1/events_controller.rbは以下のコードを記述してます。
routes
1.... 2 namespace :api, { format: 'json' } do 3 namespace :v1 do 4 resources :events 5 end 6 end 7....
class Api::V1::EventsController < ApplicationController require "#{Rails.root}/app/controllers/application_controller.rb" module Api module V1 class EventsController < ApplicationController # load_and_authorize_resource # CSRF対策 # protect_from_forgery except: [:create, :update] def index @events = Event.order(:id).limit(params[:limit]).offset(params[:offset]) json = @events render json: json.to_json end def show @event = Event.find(params[:id]) @user = @event.user render json: @event.to_json end def edit @event = Event.find(params[:id]) end def update @event = Event.find(params[:id]) event_params.require(:title) event_params.require(:start) event_params.require(:end) #event_params.require(:color) #event_params.require(:allday) respond_to do |format| format.any if @event.update!(event_params) @event.save render json: @event.to_json else render json: {status: "ng", code: 500, content: {message: "エラーだよ"}} end end end def new @event = Event.new end def create event_params.require(:title) event_params.require(:start) event_params.require(:end) #event_params.require(:color) #event_params.require(:allday) @event = Event.new(event_params) respond_to do |format| format.any if @event.save! render json: @event else render json: {status: "ng", code: 500, content: {message: "エラーだよ"}} end end end def destroy @event = Event.find(params[:id]) @event.destroy render json: @event end private def event_params params[:event] .permit( :title, :start, :end ) end end end end end
発生している問題・エラーメッセージ
AbstractController::ActionNotFound (The action 'create' could not be found for Api::V1::EventsController):
type:"POST"とurl:"/api/v1/events"で、/api/v1/events_controller.rbからapi/v1/events#createを呼び出せてはいるとは思うのですが、createアクションが見つかりません。とエラーとなってしまいます。。
どうして見つけられないのか、教えていただけると助かります。。
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー