【问题标题】:Rails not using generated CSS fileRails 不使用生成的 CSS 文件
【发布时间】:2011-12-21 12:26:10
【问题描述】:

我有一个 Rails 3.1 应用程序。我生成了一个控制器,只是为了显示正在发生的事情:

$ rails generate controller Rocks index show edit
      create  app/controllers/rocks_controller.rb
       route  get "rocks/edit"
       route  get "rocks/show"
       route  get "rocks/index"
      invoke  haml
      create    app/views/rocks
      create    app/views/rocks/index.html.haml
      create    app/views/rocks/show.html.haml
      create    app/views/rocks/edit.html.haml
      invoke  rspec
      create    spec/controllers/rocks_controller_spec.rb
      create    spec/views/rocks
      create    spec/views/rocks/index.html.haml_spec.rb
      create    spec/views/rocks/show.html.haml_spec.rb
      create    spec/views/rocks/edit.html.haml_spec.rb
      invoke  helper
      create    app/helpers/rocks_helper.rb
      invoke    rspec
      create      spec/helpers/rocks_helper_spec.rb
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/rocks.js.coffee
      invoke    scss
      create      app/assets/stylesheets/rocks.css.scss

太好了。看起来不错。生成app/assets/stylesheets/rocks.css.scss。正是我想要的。

现在,导航到http://localhost:3000/rocks/index,我检查源代码并查看:

  <head> 
    ...
    <link href="/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" /> 
    <script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
    <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
    <script src="/assets/rocks.js?body=1" type="text/javascript"></script> 
    <script src="/assets/application.js?body=1" type="text/javascript"></script> 
    ...
  </head>

rocks.css 不见了,我不知道为什么。有没有人遇到过这样的事情?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 sass


    【解决方案1】:

    您的application.css 应该有以下几行:

    /*
     * This is a manifest file that'll automatically include all the stylesheets available in this directory
     * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
     * the top of the compiled file, but it's generally better to create a new file per style scope.
     *= require_self
     *= require_tree . 
    */
    

    最重要的:

    *= require_tree . 
    

    那么rocks.css应该包含在application.css中,这是使用assets的优势

    【讨论】:

    • 是的,做到了。谢谢!我认为您的意思是 application.css。
    • Rails 越来越让人抓狂:) 但是 ♪ ♫我很喜欢它♪ ♫
    • 一个问题:是否可以只包含 application.css 和相关的控制器 CSS 文件? require_tree 添加所有 CSS 文件。
    • @Mike 当然可以,您可以从清单文件中删除该行 require_tree . 并指定要加载并编译到 application.css 中的各个文件,看看这里 ~> guides.rubyonrails.org/…跨度>
    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 2022-01-03
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多