【问题标题】:SASS in Sinatra: couldn't set custom directorySinatra 中的 SASS:无法设置自定义目录
【发布时间】:2013-05-08 21:19:43
【问题描述】:

我读过 Sinatra SASS custom directorySinatra custom SASS directory

但这对我不起作用。我写了这个应用程序:

require 'sinatra'
require 'sass'
require 'slim'

configure do
    set :views, :scss => 'assets/css' 
end

get '/css/*.css' do
    scss params[:splat].first.to_sym
end

get '/' do
    slim :index
end

当我运行它时,我得到一个错误:

http://localhost:3000/css/style.css
TypeError at /css/style.css
no implicit conversion of Hash into String

【问题讨论】:

  • 错误来自您的 CSS/SASS 文件。它是否说明隐式转换发生在哪一行?你能显示相关的 CSS 部分吗?
  • 小心 to_sym 转换。这会使您的应用程序对 dos 开放,因为无效的 css 文件请求 (404) 都会创建一个永远不会被垃圾收集的符号。在创建符号之前先检查文件。 # sass style sheet generation get '/css/:file.css' do halt 404 unless File.exist?("views/#{params[:file]}.scss") time = File.stat("views/#{params[:file]}.scss").ctime last_modified(time) scss params[:file].intern end
  • 抱歉,看起来很糟糕。这是正确的要点:j.mp/19r6REE
  • @ArmanH,文件 assets/css/style.sass 就是 h1 { color: #ff0000; }
  • 您使用的是 SCSS 而不是 SASS,它应该使用缩进而不是括号进行格式化?尝试将语法更改为正确的 SASS 以查看是否有所作为。

标签: ruby-on-rails ruby sinatra sass rack


【解决方案1】:

反之亦然,先:scss符号再:views

configure do
  set :scss, :views => 'assets/css'
end

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多