react-rails アプリがあります。残念ながら、アプリはローカル開発では機能しますが、heroku にデプロイすると機能しません。アプリでデフォルト パスに移動すると、次のエラーが発生します。
ActionView::Template::Error (undefined method 'directory' for #<Sprockets::Manifest:0x007fef13200aa8>)
ビューのこの行で発生することがわかりました。
<%= react_component('NavBar', {}, {prerender: true}) %>
私たちのアプリに関するいくつかのこと:
- browserify を使用して js.jsx をコンパイルします。
RAILS_ENV=production bundle exec rake assets:precompile
public/assets フォルダーを削除した後に使用してプリコンパイルします。- と の両方
rails s
でローカルに動作しますforeman start
- ブーストラップスプロケットを使用しています。削除されても、この問題は解決しません。
npm の依存関係は次のとおりです。
"dependencies": {
"browserify": "^10.2.4",
"browserify-incremental": "^1.5.0",
"classnames": "^2.2.3",
"reactify": "^1.1.0"
}
これが私たちのGemfileです
source 'https://rubygems.org'
gem 'rails', '4.2.3'
gem 'rails-api'
gem 'spring', :group => :development
gem 'active_model_serializers', '~> 0.10.0.rc1'
gem 'pg'
gem 'devise'
gem 'puma'
gem 'twitter'
gem 'react-rails', '~> 1.0'
gem 'browserify-rails', '~> 0.9.1'
gem 'bootstrap-sass', '~> 3.2.0'
gem 'sass-rails', '~> 5.0', '>= 5.0.4'
gem 'autoprefixer-rails'
group :test do
gem 'rspec-rails'
gem 'pry'
gem 'faker'
gem 'webmock'
end
group :development, :test do
gem 'factory_girl_rails'
end
group :production do
gem 'uglifier'
gem 'rails_12factor'
gem 'rspec'
end
ruby '2.2.4'
どうぞよろしくお願いいたします。