Rails 6:如何将特定的样式表和外部js插件关联到布局



我正在开发Ruby on Rails 6。我的应用程序有一个控制器,它使用称为"特殊"的不同布局:

class BoxController < ApplicationController
layout "special"
...
end

所以我创建了一个新的布局/special.html.erb:

<!DOCTYPE html>
<html>
<head>
<title></title>
<%= stylesheet_link_tag "special" %>
<%= javascript_link_tag "special" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>

然后,我将我的第三方css和插件放在供应商>样式表和javascript文件夹下:

stylesheets
-monnom.css
-mintymon.css
javascript
-monnom.js
-mintymon.js

我试过这个,但没有阅读我的 css 和 js。

我做错了什么?为了完成这项工作,我错过了什么?

谁能一步一步地指导我? 这里的超级初学者。

使用资产管线:

  1. app/assets/javascripts文件夹中创建一个special.js文件。
  2. 将 JS 文件添加到special.js

    //= require monnom
    //= require mintymon
    
  3. app/assets/stylesheets文件夹中创建一个special.css(.scss)文件。

  4. 将 CSS 文件添加到special.css(.scss)

    @import "monnom";
    @import "mintymon";
    
  5. 如果它不能像这样工作,请在config.assets.paths中添加自定义路径,以便自动加载器可以找到它们

    // assets.rb
    config.assets.paths << Rails.root.join("vendor", "javascripts") // I think the folder name should be javascipts instead of javascript
    config.assets.paths << Rails.root.join("vendor", "stylesheets")
    

    然后重新启动rails server

    您可以看到load paths列表。在rails c中使用Rails.application.config.assets.paths命令。

最新更新