Rails 6: Как связать конкретную таблицу стилей и внешний плагин js с макетом - PullRequest
4 голосов
/ 19 сентября 2019

Я работаю над Ruby on Rails 6. У моего приложения есть контроллер, который использует другой макет под названием «special»:

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 и плагин в папке vendor-> stylesheets и javascript:

stylesheets
  -monnom.css
  -mintymon.css

javascript
  -monnom.js
  -mintymon.js

Я пробовал это, но не читал мои css и js.

Что я делаю не так?Чего мне не хватает для этой работы?

Может ли кто-нибудь вести меня шаг за шагом?супер новичок здесь.

1 Ответ

2 голосов
/ 19 сентября 2019

С конвейером активов:

  1. Создание файла special.js в папке app/assets/javascripts.
  2. Добавление файлов JS в special.js

    //= require monnom
    //= require mintymon
    
  3. Создание файла special.css(.scss) в папке app/assets/stylesheets.

  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.application.config.assets.paths в rails c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...