您好我正在创建一个使用bootstrap和jquery的小应用程序,我在导入css和js文件时遇到一些问题。
这是我的layout.erb看起来像。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Portfolio</title>
<link href="public/css/bootstrap.min.css" rel="stylesheet">
<script src="public/js/bootstrap.min.js"></script>
<script src="public/js/jquery-3.1.0.min.js"></script>
</head>
<body>
<header>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<ul class="nav navbar-nav">
<li><a href="#">Home</a></li>
<li><a href="#">Projects & Tutorials</a></li>
<li><a href="#">The Division Highlights</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
<p class="navbar-text navbar-right"><a href="#" class="navbar-link"><span class="glyphicon glyphicon-user"></span> Login / Signup</a></p>
</div>
</nav>
</header>
<section>
<%= yield %>
</section>
<footer>
<div class="panel panel-default">
<div class="panel-footer">© Copywrite JDG</div>
</div>
</footer>
</body>
</html>
这里是我配置视图文件夹
的文件的地方require 'rubygems'
require 'sinatra'
require_relative './app'
module Portfolio
class MainRoutes < Sinatra::Base
before do
@user_authentication = Portfolio::Main
end
configure do
set :views , File.expand_path('../../../Portfolio-FE/views', __FILE__)
set :root , File.dirname(__FILE__)
end
helpers do
include Rack::Utils
alias_method :h, :escape_html
end
get '/' do
erb :index
end
end
end
这就是我的文件的样子。
css和js没有在项目中导入,我想知道为什么。
谢谢你们。答案 0 :(得分:1)
我找到了答案,
只需像这样设置公用文件夹:
set :public , File.expand_path('../../../Portfolio-FE/public', __FILE__)
并导入这样的文件。
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
<script src="js/jquery-3.1.0.min.js"></script>
答案 1 :(得分:0)
除了设置公用文件夹之外,您可能还想使用Sprockets。
我在这里有一个示例应用:https://github.com/katgironpe/simple-sinatra-mvc
http://www.sinatrarb.com/configuration.html
set :root, File.dirname(__FILE__)
set :public_folder, Proc.new { File.join(root, "static") }
按照官方指南进行操作。不要忘记设置应用程序的根目录。