📖
カレンダー機能作成のエラー(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
カレンダー機能の表示の流れ
- イベントコントローラのindexアクションを呼び出す
def index
@events = Event.all
respond_to do |format|
format.html
format.json { render 'calendar' }
end
end
- ビューフォルダー内にあるJSON形式とHTML形式で返す。
- JSON形式は
{ render 'calendar' }
とある通り、calendar.json.jbuilder
を返す。calendar.json.jbuilder
のテンプレートの形で表示させる。
Discussion