2017-05-12 15 views
7

मैं एक mountable रेल इंजनरेल नहीं लोड हो रहा है mountable इंजन के js

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

रूप Gemfile में शामिल है और

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

के रूप में मुख्य अनुप्रयोग में बढ़ते app/engines/my_engine/app/assets/javascripts/my_engine/application.js में मैं

alert('hello'); 

है है app/engines/my_engine/lib/my_engine/engine.rb में मैंने

0 जोड़ा
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 

लेकिन जब मैं http://localhost:3000/blog पुनः लोड करता हूं तो चेतावनी संदेश प्रदर्शित नहीं होता है? मैं क्या खो रहा हूँ ?

+0

आप सेटअप इंजन के लिए सही लगता है। क्या आप पोस्ट कर सकते हैं कि आप अलर्ट कैसे कॉल कर रहे हैं? समस्या आपकी अलर्ट कॉल के रास्ते में हो सकती है। मुझे लगता है कि, इंजन स्थापित करने के बाद और इसे Gemfile में जोड़ा गया है, आपने '' 'बंडल इंस्टॉल''' चलाया है, है ना? –

+0

आलम मत्सुबारा हां ठीक है, मैंने gemfile –

+0

में इंजन निर्दिष्ट करने के बाद बंडल इंस्टॉल किया और आपकी अलर्ट कॉल? –

उत्तर

4

आपको वास्तव में अपने पृष्ठ में जावास्क्रिप्ट डालने की भी आवश्यकता है। क्या आपके पास javascript_include_tag आपके ब्लॉग कोड में application.js फ़ाइल खींच रहा है? इसे अक्सर लेआउट में से एक में डाल दिया जाता है:

<%= javascript_include_tag 'my_engine/application' %> 
संबंधित मुद्दे