我们有一个 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
- 我们正在使用 boostrap 链轮。即使删除,我们仍然有这个问题。
这是我们的 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'
我们将不胜感激。