rails 3.1.0 ActionView::Template::Error(application.css 未预编译) [英] rails 3.1.0 ActionView::Template::Error (application.css isn't precompiled)

查看:26
本文介绍了rails 3.1.0 ActionView::Template::Error(application.css 未预编译)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我制作了一个带有索引功能的简单页面控制器的基本 Rails 应用程序,当我加载页面时:

I made a basic rails app with a simple pages controller with an index function and when I load the page I get:

ActionView::Template::Error (application.css isn't precompiled):
    2: <html>
    3: <head>
    4:   <title>Demo</title>
    5:   <%= stylesheet_link_tag    "application" %>
    6:   <%= javascript_include_tag "application" %>
    7:   <%= csrf_meta_tags %>
    8: </head>
  app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__43625033_88530400'

宝石文件

source 'http://rubygems.org'

gem 'rails', '3.1.0'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

gem 'execjs'
gem 'therubyracer'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem 'jquery-rails'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
end

推荐答案

默认情况下,Rails 假定您在生产环境中预编译了文件,如果您想在生产环境中使用实时编译(在运行时编译您的资产),您必须设置config.assets.compile 为 true.

By default Rails assumes that you have your files precompiled in the production environment, if you want use live compiling (compile your assets during runtime) in production you must set the config.assets.compile to true.

# config/environments/production.rb
...
config.assets.compile = true
...

当您使用预编译资产但缺少任何预编译文件时,您可以使用此选项回退到链轮.

You can use this option to fallback to Sprockets when you are using precompiled assets but there are any missing precompiled files.

如果 config.assets.compile 选项设置为 false 并且缺少预编译文件,您将收到AssetNoPrecompiledError",指示缺少文件的名称.

If config.assets.compile option is set to false and there are missing precompiled files you will get an "AssetNoPrecompiledError" indicating the name of the missing file.

这篇关于rails 3.1.0 ActionView::Template::Error(application.css 未预编译)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆