首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Heroku产品- ActionView::Template::Error (用于#<Sprockets::Manifest:number>的未定义方法“目录”)

Heroku产品- ActionView::Template::Error (用于#<Sprockets::Manifest:number>的未定义方法“目录”)
EN

Stack Overflow用户
提问于 2016-03-01 03:24:45
回答 4查看 251关注 0票数 1

我们有一个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预编译。
  • 使用rails sforeman start在本地工作。
  • 我们正在使用引导-链轮。即使删除了,我们仍然有这个问题。

以下是npm的依赖关系:

代码语言:javascript
运行
复制
"dependencies": {
   "browserify": "^10.2.4",
   "browserify-incremental": "^1.5.0",
   "classnames": "^2.2.3",
   "reactify": "^1.1.0"
}

这是我们的Gemfile

代码语言:javascript
运行
复制
    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'

我们将感谢所有的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-01 23:43:30

在StackOverflow和github问题上搜索数小时的解决方案似乎是删除

代码语言:javascript
运行
复制
//= require react_ujs

来自您资产文件夹中的application.js。

票数 0
EN

Stack Overflow用户

发布于 2016-03-01 21:23:14

就在今天,我遇到了同样的问题,并遵循了以下建议:https://github.com/reactjs/react-rails/issues/443#issuecomment-180544359。我仍然遇到了一个错误,所以现在我修改了我的heroku配置(config/environments/staging.rb & config/environments/production.rb)以使用

代码语言:javascript
运行
复制
config.assets.compile = true

目前和服务器端渲染工作良好。的人说,他们已经完成了解决这个问题的请求,但我认为它还没有发布。

票数 0
EN

Stack Overflow用户

发布于 2016-03-01 21:57:47

潜在相关性:rake assets:precompile undefined method directory? for nil:NilClass

当Rails资产编译器(Sprockets)找不到您指定为项目资产位置的目录时,会发生此错误。我的建议是确保您的所有资产都成功地部署到heroku,然后检查当您在项目中引用要包含在页面中的资产时是否正确地设置了您的路径。

还请参阅与Rails相关的Eric C's answer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35714098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档