【问题标题】:Importing css and js files on sinatra在 sinatra 上导入 css 和 js 文件
【发布时间】:2016-11-20 16:48:44
【问题描述】:

您好,我目前正在创建一个使用 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">&copy; 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,我想知道为什么。

谢谢大家。

【问题讨论】:

    标签: javascript css ruby sinatra


    【解决方案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>
    

    【讨论】:

      【解决方案2】:

      除了设置公用文件夹之外,您可能还想使用 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") }
      

      遵循官方指南。不要忘记设置应用的根目录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-25
        • 1970-01-01
        • 2023-04-04
        • 2011-08-03
        • 2011-10-30
        • 2019-05-17
        • 2023-03-08
        • 2021-02-25
        相关资源
        最近更新 更多