Sinatra看不到styles.css

时间:2016-07-12 11:33:39

标签: sinatra

在我的目录中,我有:

  • shop.rb(App< Sinatra :: Base)
  • lib目录 - 里面的Ruby模型
  • 查看目录 - 里面的erb文件
  • 的Gemfile

我应该在哪里放置我的style.css?我尝试了所有可能的地方,我创建了公共文件夹,并尝试了每个可能的地方,但我的风格不起作用。 在布局中我有:

<link rel="stylesheet" href="/style.css"/>

我也尝试过:

<link rel="stylesheet" href="style.css"/>

1 个答案:

答案 0 :(得分:0)

可能是因为应用程序未配置为查找公共目录/首先确保公共目录相对于应用程序的主条目文件存在(假设是shop.rb)并使用以下配置:

class Shop < Sinatra::Base
   configure do
     set :public_folder, File.expand_path('../public', __FILE__)
     set :views        , File.expand_path('../views', __FILE__)
     set :root         , File.dirname(__FILE__)
   end

   get '/' do
     erb :index
   end
 end

设置完成后,Sinatra现在应该知道在哪里可以找到您的公共目录,您可以像这样包含资产文件:

CSS:

<link rel="stylesheet" href="/style.css"/>

图片:

<img src="/img/background.png" alt="Image" />

JavaScript:

<script src="/js/main.js"></script>
相关问题