4

将 mysite 部署到 VPS 后,我遇到了这个运行时错误。请注意,在我的本地机器上,一切正常。

当我尝试通过控制器路由访问任何视图时,可以说 PostsController#index

我收到了这个错误

Completed 500 Internal Server Error in 3ms
ActionView::MissingTemplate (Missing template posts/index, application/index with {:handlers=>[:builder, :erb], :formats=>[:html], :locale=>[:en]}. Searched in:
"/home//dev..com/releases/20120413023845/app/views"
):
app/controllers/posts_controller.rb:7:in `index'

我认为haml是问题的原因,但我还不确定。

我添加了 haml gems 并捆绑了我的应用程序

  gem 'haml'
  gem 'haml-rails'

更新:

当我将 index.html.haml 更改为 index.html.erb 并评论模板内容时它可以工作,但它忽略了 application.html.haml 布局而没有错误。

我注意到当 cap 命令运行时应用程序没有编译我的 hamls

RAILS_ENV=production RAILS_GROUPS=assets assets:precompile

Compiled application.js  (1ms)  (pid 15420)
Compiled application.css  (1ms)  (pid 15420)
Compiled application.js  (1ms)  (pid 15420)
Compiled application.css  (1ms)  (pid 15420) 

这是否意味着我对资产管道管理的 haml 转换器有问题?我如何告诉rails 在生产环境中处理haml。

这是我的生产宝石版本

Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.2.0) 
Using activesupport (3.2.3) 
Using builder (3.0.0) 
Using activemodel (3.2.3) 
Using erubis (2.7.0) 
Using journey (1.0.3) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.2) 
Using actionpack (3.2.3) 
Using mime-types (1.18) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.4.4) 
Using actionmailer (3.2.3) 
Using arel (3.0.2) 
Using tzinfo (0.3.33) 
Using activerecord (3.2.3) 
Using activeresource (3.2.3) 
Using highline (1.6.11) 
Using net-ssh (2.3.0) 
Using net-scp (1.0.4) 
Using net-sftp (2.0.5) 
Using net-ssh-gateway (1.1.0) 
Using capistrano (2.11.2) 
Using chunky_png (1.2.5) 
Using coffee-script-source (1.3.1) 
Using execjs (1.3.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.6.6) 
Using rdoc (3.12) 
Using thor (0.14.6) 
Using railties (3.2.3) 
Using coffee-rails (3.2.2) 
Using fssm (0.2.9) 
Using sass (3.1.15) 
Using compass (0.12.1) 
Using compass-rails (1.0.1) 
Using haml (3.1.4) 
Using haml-rails (0.3.4) 
Using hpricot (0.8.6) 
Using mysql2 (0.3.11) 
Using bundler (1.1.3) 
Using rails (3.2.3) 
Using sexp_processor (3.1.0) 
Using ruby_parser (2.3.1) 
Using sass-rails (3.2.5) 
Using uglifier (1.2.4) 
4

2 回答 2

7

可能是你的

gem 'haml'

不在生产组中(或者,不在开发组之外)

于 2012-07-17T14:43:48.737 回答
0

检查 Gemfile 中的 gem 'haml-rails' in :production group

于 2014-09-19T09:59:02.010 回答