'Rails app: File to import not found or unreadable: select2
I've inherited a Rails app and am currently being defeated by the above error. The weird thing is this codebase is running on Heroku without this error, so I don't know how.
Here is the full error output:
ActionView::Template::Error (File to import not found or unreadable: select2.
Load paths:
/app/app/assets/javascripts
/app/app/assets/stylesheets
/app/app/assets/widget_javascripts
/usr/local/bundle/gems/coffee-rails-5.0.0/lib/assets/javascripts
/usr/local/bundle/gems/activeadmin-searchable_select-1.5.0/app/assets/javascript
/usr/local/bundle/gems/activeadmin-searchable_select-1.5.0/app/assets/stylesheets
/usr/local/bundle/gems/select2-rails-4.0.13/vendor/assets/javascripts
/usr/local/bundle/gems/select2-rails-4.0.13/vendor/assets/stylesheets
/usr/local/bundle/gems/activeadmin_quill_editor-0.3.4/app/assets/javascripts
/usr/local/bundle/gems/activeadmin_quill_editor-0.3.4/app/assets/stylesheets
/usr/local/bundle/gems/activeadmin-2.9.0/app/assets/javascripts
/usr/local/bundle/gems/activeadmin-2.9.0/app/assets/stylesheets
/usr/local/bundle/gems/activeadmin-2.9.0/vendor/assets/javascripts
/usr/local/bundle/gems/jquery-rails-4.4.0/vendor/assets/javascripts
/usr/local/bundle/gems/formtastic-4.0.0/app/assets/stylesheets
/usr/local/bundle/gems/actioncable-6.1.4.1/app/assets/javascripts
/usr/local/bundle/gems/activestorage-6.1.4.1/app/assets/javascripts
/usr/local/bundle/gems/actionview-6.1.4.1/lib/assets/compiled
/app/node_modules):
2: <html>
3: <head>
4: <title><%= yield :title_tag %></title>
5: <%= stylesheet_link_tag "application", media: "all" %>
6: <%= csrf_meta_tags %>
7: <%= csp_meta_tag %>
8: </head>
app/assets/stylesheets/active_admin.scss:5
app/views/layouts/application.html.erb:5
I, [2022-05-04T10:39:06.704054 #20] INFO -- : source=rack-timeout id=af5eb0c9-e88d-4992-9895-90fa372b4f73 timeout=15000ms service=1506ms state=completed
I've read this answer, and consequently added require references to select2 in the following files:
app/assets/stylesheets/application.css
app/assets/stylesheets/active_admin.scss
app/assets/javascripts/application.js
app/assets/javascripts/active_admin.js
...e.g. in active_admin.scss I've added
//= require select2
Someone also said the config.assets.compile setting may be relevant here. In my environment file, it's commented-out.
# config.assets.compile = false
Here's how I'm starting the app (via Docker):
gem install bundler -v 2.2.21 && bundle install && rails db:migrate && rails server --port 3000 --binding 0.0.0.0
And here's my Gemfile (there's no mention of select2 in it, but it does feature in the Gemfile.lock, most likely because it's a dependency of another Gem, namely activeadmin-searchable_select.
source 'https://rubygems.org'
ruby '2.7.5'
gem 'activeadmin', '2.9.0'
gem 'activeadmin_quill_editor'
gem 'active_reporting'
gem 'activeadmin-searchable_select'
gem 'active_admin_import'
gem 'api_guard'
gem 'apipie-rails'
gem 'azure-storage-blob', require: false
gem 'bcrypt'
gem 'blind_index'
gem 'browser'
gem 'coffee-rails'
gem 'dalli'
gem 'devise'
gem 'emoji_flag'
gem 'forecast_io'
gem 'flag_shih_tzu'
gem 'groupdate'
gem 'i18n-active_record', github: 'svenfuchs/i18n-active_record', require: 'i18n/active_record'
gem 'twilio-ruby'
gem 'feedjira'
gem 'httparty', '0.18.1'
gem 'jquery-rails'
gem 'jwt'
gem 'lockbox'
gem 'pg'
gem 'puma'
gem 'rails', '6.1.4.1'
gem 'rack-cors'
gem 'rack-timeout'
gem 'redis'
gem 'rollbar'
gem 'rqrcode'
gem 'rubyzip'
gem 'ruby-openai'
gem 'sidekiq'
gem 'sinatra', require: nil # if you require 'sinatra' you get the DSL extended to Object
gem 'slack-notifier'
gem 'slim' # slim and Sinatra are for the Sidekiq web ui
gem 'will_paginate'
group :assets do
gem 'sass-rails', '~> 5.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
gem 'mini_racer', github: 'sqreen/mini_racer', branch: 'use-libv8-node'
gem 'uglifier', '>= 1.0.3'
end
group :development do
gem 'dotenv-rails', groups: :test
gem 'launchy'
gem 'listen'
gem 'pry'
gem 'rubocop'
gem 'spring'
end
group :test do
gem 'capybara'
gem 'database_cleaner', '2.0.1'
gem 'factory_bot_rails'
gem 'ffaker'
gem 'rspec-rails', '4.0.0.rc1'
end
---- EDIT ----
active_admin.js (top of):
//= require active_admin/base
//= require active_admin/searchable_select
//= require activeadmin/quill_editor/quill
//= require activeadmin/quill_editor_input
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
