我們有一個react-rails應用程序。不幸的是,該應用程序適用於本地開發,但在部署到heroku時不適用。當去我們的默認路徑上的應用程序,我們得到以下錯誤: ActionView::Template::Error (undefined method 'directory' for #<Sprockets::Manifest:0x007fef13200aa8>)
Heroku Production - ActionView :: Template :: Error(未定義方法`目錄'for#<Sprockets :: Manifest:number>)
我們已經想通了,它發生在這條線,我們認爲: <%= 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'
我們將不勝感激所有幫助。