Я не могу заставить stimulus и importmaps читать файлы из движка приложения. Текущий проект, который мне поручили сделать, включает в себя обновление всех устаревших движков для использования importmaps и stimulus JS. Документация немного вводит в заблуждение, поскольку она не работает так, как описано в документации для их использования.
Примечание :: Я не выбирал структуру приложения, я работаю с тем, что мне дали, и не мне решать, является ли текущая структура правильной или неправильной, поэтому, пожалуйста, считайте, что это мой единственный вариант для структуры.
Главное приложение (Rails ==> gem 'Engine 1', gem 'Engine 2'), только оно работает как вложенное приложение rails.
-- Движок 1
-- Движок 2
-- Движок 3
Я перепробовал множество промежуточных шагов и даже пытался просто связать файлы с основным приложением, но ничего не работает. Буду признателен за любые идеи и помощь.
//= link_tree ../../images/appetite
//= link_directory ../../stylesheets/appetite .css
//= link_directory ../../stylesheets/appetite .scss
//= link_tree ../../../javascript
pin_all_from "app/javascript/controllers", under: "controllers/myengine"
# engines/appetite/lib/appetite/engine.rb
module MyEngine
class Engine < ::Rails::Engine
isolate_namespace MyEngine
initializer :importmap, before: :importmap do |app|
app.config.importmap.paths << root.join('config/importmap.rb')
end
end
end
import { Controller } from "@hotwired/stimulus";
export default class extends Controller {
connect() {
console.log("Example controller connected");
}
}