2017-05-12 55 views
7

mam montowany silnik szyny zawarte w Gemfile jakSzyny nie ładuje montowany silnik JS

gem 'my_engine', :path => 'engines/my_engine' 

i montażu w głównej aplikacji jak

Rails.application.routes.draw do 
    mount MyEngine::Engine => "/blog", as: 'blog_engine' 
end 

W app/engines/my_engine/app/assets/javascripts/my_engine/application.js mam

alert('hello'); 

W app/engines/my_engine/lib/my_engine/engine.rb dodałem

module MyEngine 
    class Engine < ::Rails::Engine 
    isolate_namespace MyEngine 

    # Append engine's migrations to root app's migrations 
    initializer :append_migrations do |app| 
     unless app.root.to_s.match root.to_s 
     config.paths["db/migrate"].expanded.each do |expanded_path| 
      app.config.paths["db/migrate"] << expanded_path 
     end 
     end 
    end 

    config.autoload_paths += Dir["#{config.root}/spec/support"] 

    initializer "my_engine.precompile" do |app| 
     app.config.assets.paths << Rails.root.join('/engines/my_engine/app/assets/javascripts') 
     app.config.assets.precompile << "my_engine/application.js" 
    end 

    end 
end 

Ale kiedy przeładowuję komunikat ostrzegawczy http://localhost:3000/blog nie wyświetla się? Czego mi brakuje ?

+0

Wygląda na prawidłowy dla silnika. Czy możesz podać, w jaki sposób dzwonisz do alertu? Problem może być przeszkodą w twoim połączeniu alarmowym. Zakładam, że po ustawieniu silnika i dodaniu go do Gemfile uruchomiłeś '' 'bundle install''', prawda? –

+0

Allam Matsubara Tak, to prawda, uruchomiłem instalację pakietu po określeniu silnika w gemfile –

+0

A twój telefon alarmowy? –

Odpowiedz

4

Musisz również wstawić JavaScript na swoją stronę. Czy masz javascript_include_tag ciągnięcie w pliku application.js w swoim blogu? Często umieszcza się go w jednym z układów:

<%= javascript_include_tag 'my_engine/application' %>