`

Rails3程序在产品模式下出现assert文件404错误的问题

阅读更多
rails3程序部署产品模式之后
出现以下静态文件错误
17:14:26 INFO: Started GET "/assets/application-b42d228d39a3e30c7479d7bf2fd1709b.js" for 10.0.2.2 at 2013-03-07 17:14:26 +0800 
17:14:26 FATAL: 
ActionController::RoutingError (No route matches [GET] "/assets/application-b42d228d39a3e30c7479d7bf2fd1709b.js"):
  actionpack (3.2.9) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (3.2.9) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.9) lib/rails/rack/logger.rb:32:in `call_app'
  railties (3.2.9) lib/rails/rack/logger.rb:18:in `call'


这个问题看上去像是assert资源的问题,首先要确保下面这个命令运行,编译静态文件
bundle exec rake assets:precompile


我上面处先的问题是在这一步之后,我的启动方式,是
rails s

开发模式样式表,js什么的都有,但是产品模式下就是上面那个问题了。

原因在下面:
# config/environments/production.rb
...
config.serve_static_assets = false
...


上面是产品模式的配置,开发模式默认是没有这个选项的。

解决方案有两种:
方法一:是把上面那一行配置改成 true
方法二:是搭建nginx或者apache服务器,ngxin和apache会直接读取静态文件,不会产生这个问题

这是来自stackoverflow上的答案
引用

In production mode, Rails will not be responsible for serving static assets. Therefore, you are getting this error. Thin won't do it either, since it's just a wrapper around Rails.

This is controlled by this setting in config/environment/production.rb in your application:

config.serve_static_assets = false
You can either set to that true or use a real server like Apache or Nginx which will serve the static assets. I suspect Pow may also do it.

share|improve this answer

其访问地址http://stackoverflow.com/questions/7829480/no-route-matches-get-assets
分享到:
评论

相关推荐

    终于知道怎么把rails Web程序打包成可执行文件了

    在Ruby on Rails开发的世界里,将Web应用程序打包成可执行文件是一个常见的需求,尤其是在需要部署到没有Ruby环境的服务器或者希望提供用户一个独立运行的软件时。标题中的“终于知道怎么把rails Web程序打包成可...

    rails和mysql数据库连接中出现的问题以及解决办法

    将该文件放在系统的PATH环境变量包含的任何目录下,或者将其放在Rails项目的根目录下,以便运行时能正确找到。 还有一种可能是MySQL服务未启动或配置不当。在命令行中,使用`net start mysql`(或相应服务名)检查...

    rails_layout, 为各种前端框架生成 Rails 应用程序布局文件.zip

    rails_layout, 为各种前端框架生成 Rails 应用程序布局文件 RailsLayout gem使用这里 gem 可以设置你选择的前端框架的布局文件:Zurb基础 5.3Bootstrap 4.0Bootstrap 3.3它还将为 Bootstrap 或者基础设置设计视图。...

    ruby on rails 3 tutorial.pdf

    《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    Rails中上传文件保存中文文件名乱码

    在Rails框架中处理文件上传时,经常会遇到一个问题,那就是当用户尝试上传包含中文名称的文件时,文件名可能会出现乱码。这个问题主要是由于字符编码不兼容导致的。Rails默认使用UTF-8编码,但文件系统或者某些外部...

    Ruby-Annotate注释Rails类模式和路由信息

    **Ruby-Annotate** 是一个Ruby gem,它的主要功能是分析你的Rails应用程序,获取数据库模式信息,并在你的模型文件顶部添加注释。这些注释包含关于模型字段的数据类型、长度、默认值以及是否允许为空等信息。这极大...

    Rails的中文乱码问题

    中文乱码问题通常出现在以下几个方面: 1. **数据库编码**:数据库可能使用了不同的字符集,如UTF-8、GBK等。如果不一致,存储或读取中文时会出现乱码。确保数据库配置文件(如`database.yml`)中的编码设置与...

    Rails3常用命令行命令

    在本文中,我们将深入探讨Rails3中的常用命令,帮助你更高效地进行开发工作。 首先,新建一个Rails项目是开发的起点。你可以使用以下命令创建一个新的工程: ```bash rails new 工程名 ``` 这会生成一个包含所有...

    projectile-rails, 基于弹丸的Rails 模式.zip

    projectile-rails, 基于弹丸的Rails 模式 弹 Rails 概要弹 Rails 是在 GNU Emacs中使用 Ruby on Rails 应用程序和引擎的次要模式。 在内部,它是基于弹 。这意味着你可以在 greping ( 或者 acking ) 文件。运行测试...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer 版本,并安装 Ruby。然后,下载 Rails 2.0.2 版本,并安装。接下来,...

    使用RSpec 测试Rails 程序.pdf

    ### 使用RSpec 测试Rails 程序的知识点总结 #### 一、RSpec与Rails结合的基础概念 **RSpec**(RSpec is not a unit testing framework)是一种为Ruby编程语言设计的行为驱动开发(BDD)框架,而**Rails**是基于...

    Agile Web Development with Rails 4th edition(敏捷Web开发与Rails:程序指南 第四版)

    《敏捷Web开发与Rails:程序指南 第四版》是一本深度探讨使用Ruby on Rails框架进行敏捷Web应用开发的专业书籍。本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是...

    Rails、Sqlite的dll文件及安装

    总的来说,这个主题涵盖了Rails开发环境的配置,特别是Windows系统中SQLite的使用,包括对dll文件的管理和配置,以及如何解决在Rails中集成SQLite时可能出现的问题。通过提供的资源和详细步骤,开发者应该能够成功地...

    RailsGuides中那个blog程序源码

    **Ruby on Rails(RoR)** 是一个基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,用于构建高效、简洁和可维护的Web应用。RailsGuides中的"blog"程序是一个典型的入门级示例,旨在帮助初学...

    Rails3+GithubOAuth2+设计示例应用程序_Ruby_JavaScript_下.zip

    标题 "Rails3+GithubOAuth2+设计示例应用程序" 提供了我们正在处理一个使用Rails 3框架构建的Web应用程序,该应用集成了Github的OAuth2授权机制。Rails是Ruby on Rails的简称,是一个流行的开源Web开发框架,以其DRY...

Global site tag (gtag.js) - Google Analytics