📖

カレンダー機能作成のエラー(Uncaught Error: Cannot find module '@fullcalendar/list')

に公開

Railsでカレンダー機能を作成していました。
発生したエラーと解決策を今後のためにまとめます。

開発ツールでのエラー

Uncaught Error: Cannot find module '@fullcalendar/list'
    at webpackMissingModule (calendar.js:1:1)
    at ./app/javascript/packs/calendar.js (calendar.js:1:1)
    at __webpack_require__ (bootstrap:19:1)
    at ./app/javascript/packs/application.js (application.js:1:1)
    at __webpack_require__ (bootstrap:19:1)
    at bootstrap:83:1
    at bootstrap:83:1

下記Webpackerのインストール・コンパイルを行っても解決しなかった。

rails webpacker:install
rails webpacker:compile

解決方法

すでにあるnode_modulesのフォルダを一旦名前を変更(後ろにbackなどをつける)して
yarn install を行い、再度node_modulesを作成する。


カレンダーレンダリングできない

原因:データが入ってない

rails c
Event.all

上記を行いイベントが入っていないことがわかった。
レンダリング機能は登録されてる今日のイベントをリスト化するのでデータが入ってないと動作しない。

まずは下記コマンドでseedファイルを読み込む。

rails db:seed

カレンダー機能の表示の流れ

  1. イベントコントローラのindexアクションを呼び出す
def index
    @events = Event.all
    respond_to do |format|
      format.html
      format.json { render 'calendar' }
    end
end
  1. ビューフォルダー内にあるJSON形式とHTML形式で返す。
  2. JSON形式は{ render 'calendar' }とある通り、calendar.json.jbuilder を返す。calendar.json.jbuilderのテンプレートの形で表示させる。

Discussion