为什么我的图像和样式表不能在RoR应用程序中运行?

时间:2015-06-03 18:34:57

标签: css ruby-on-rails

对于这个愚蠢的问题感到抱歉,但是我花了两天时间尝试并没有解决问题。我的问题是我需要“只使用您的HTML编辑文件,您的应用就可以运行”。听起来很简单,但到目前为止对我来说是不可能的!

我在application.html.erb中有这个:

<%= stylesheet_link_tag "core.css", :media => "all" %>
<%= stylesheet_link_tag "/turnkey/style.css" %>

以防万一I followed this question解决方案,但它对我没有任何帮助。 core.css工作正常,但/turnkey/style.css为404。

我的style.css文件确实存在,你可以看到一个屏幕截图(抱歉,我无法添加图片): enter link description here

我尝试清除缓存,尝试重启服务器但没有。尝试将style.css文件放在assets/stylesheets中,而不是

我注意到的一件事是原始的core.css总是出现。即使我将其替换为style.css的内容,它也会显示原始core.css的内容,因此我考虑了缓存问题,因此使用http://blog.serendeputy.com/posts/how-to-prevent-browsers-from-caching-a-page-in-rails/处的解决方案

..in application_controller.rb..
  before_filter :set_cache_buster
  def set_cache_buster
    response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
    response.headers["Pragma"] = "no-cache"
    response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
  end

但仍无法修复它。

此外,我在app / assets / images的图像也显示为404,即使我将它们上传到原始图像所在的同一文件夹中。旧图像没问题,新图像不显示,好像它们从未上传过

总之,我完全迷失了。对不起这个可能很愚蠢的问题,但我只是不知道该怎么做

1 个答案:

答案 0 :(得分:1)

对于CSS,从路径的开头取出:call setline('.', str2nr(@") + 1)

/

这样Rails会自动将<%= stylesheet_link_tag "turnkey/style.css" %>添加到路径中。如果您在开头添加assets/stylesheets,Rails会认为您提供了完整路径。

对于/文件夹中的图像,您只需要使用它:

assets/images

<%= image_tag "image_filename" %>替换为您的图像文件的全名(在大多数情况下包括ext)。

有关更深入的详细信息,请阅读:http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets