【问题标题】:rails 3.1 ActionController::RoutingError (No route matches [GET] "/assets/rails.png"):rails 3.1 ActionController::RoutingError (没有路线匹配 [GET] "/assets/rails.png"):
【发布时间】:2011-10-29 17:26:30
【问题描述】:

标准的新 Rails 应用程序在显示 rails.png 时出现问题

ActionController::RoutingError (No route matches [GET] "/assets/rails.png"):

我尝试将 .png 文件移动到资产和资产/图像中的各个位置以及旧位置“公共”或“公共/图像”并更改页面,但没有任何帮助。如果您已经看到并解决了这个问题,请回答。我自己尝试了大约 20 种不同的组合。

版本: '导轨','3.1.0.rc4'

【问题讨论】:

  • 这里好像是/assets/ dir 权限问题
  • 当然,但我从未在这台机器上的其他 Rails 版本的其他新应用程序中看到这一点。我希望找到经历过/解决这个问题的人。
  • 是的,它是权限,chmod 777 images/rails.png 解决了这个问题,但并没有真正解决问题。我以前不需要对其他 Rails 应用程序执行此操作,如果这对其他资产意味着类似的问题,我对为此图像执行此操作感到非常紧张。
  • No route matches [GET] "/assets 的可能重复项

标签: ruby-on-rails ruby routing ruby-on-rails-3.1 routes


【解决方案1】:

我刚刚遇到了抛出类似错误的问题。在我的情况下,我使用标准 WEBrick 在 Mac OSX 中以生产模式启动 Rails 服务器。由于以下行,它抛出了这个错误:

config.serve_static_assets = false

在 config/environments/production.rb.

这是设置的,因为在大多数生产机器上,网络服务器本身会处理这个。

您似乎遇到了其他问题,但我会在此处为遇到此错误的其他人发布此问题。

【讨论】:

  • 这为我解决了问题——在网上搜索完之后,这让我意识到如何让它与 webrick 一起工作。我强烈赞成这一点。
  • 很高兴为您提供帮助 :) 很遗憾看到一些小丑投反对票...我相信很多人会发现这很有用。
  • 它也对我有用。现在我想知道如何在无需更改此配置的情况下在本地运行生产环境,因为在我的生产机器中它必须是“假的”。有什么想法吗?
  • @seixasfelipe 是的 - 创建一个与生产线相同的新环境
【解决方案2】:

一定是 rc4 问题,因为最终版本没有这个问题。

11/27/11 - 我现在想知道这是否只是由于 rails 3.1 中引入的资产管道,需要 rake assets:precompile 命令(编译和复制图像, css 和 js 从 app/assets public/
如果有人发现是这种情况,请添加评论!

【讨论】:

  • 感谢您指出这一点,猜想一些遵循 RoR 3.0 教程的人在到达第 4.1.2 节时会遇到同样的问题 ;-)
猜你喜欢
  • 2013-01-09
  • 1970-01-01
  • 1970-01-01
  • 2014-12-11
  • 2016-11-23
  • 2021-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多