2016-05-17 9 views
-1

Ich habe eine neue Rails 4 Engine erstellt und versuche keine Mount-Routen für die neu erstellte Engine zu verwenden, aber es hat nicht funktioniert für mich unten sind die Dateien.Rails 4 Engine lädt die Routen nicht von der Root-App

app/routes.rb (root Routen-Datei)

Rails.application.routes.draw do 
    mount Uhoh::Engine => "/uhoh" 
    resources :products 
end 

NEW_ENGINE/config/routes.rb (Motor Routen-Datei)

Uhoh::Engine.routes.draw do 
    get "failures#index" 
end 

uhoh/lib/uhoh/engine.rb (Motor-Datei)

module Uhoh 
    class Engine < ::Rails::Engine 
    isolate_namespace Uhoh 
    end 
end 

aber wenn ich „Rake Routen“ Befehl von treminal laufen haben, dann zeigt es nicht die Routen aus dem „UHOH“ engi ne.

Prefix Verb URI Pattern     Controller#Action 
     uhoh  /uhoh      Uhoh::Engine 
    products GET /products(.:format)   products#index 
      POST /products(.:format)   products#create 
new_product GET /products/new(.:format)  products#new 
edit_product GET /products/:id/edit(.:format) products#edit 
    product GET /products/:id(.:format)  products#show 
      PATCH /products/:id(.:format)  products#update 
      PUT /products/:id(.:format)  products#update 
      DELETE /products/:id(.:format)  products#destroy 

Routes for Uhoh::Engine: 
+0

Ist Ihr UHOH Routen-Datei in 'uhoh/config/routes.rb'? – etdev

+0

Ja, es ist in uhoh/config/routes.rb – user3906755

Antwort

2

$ Schienen-Plugin neues blorgh --mountable Ein App Verzeichnisbaum A config/routes.rb Datei: Eine Datei an lib/blorgh/engine.rb, die in ihrer Funktion zu einem Standard-Rails identisch ist Anwendung config/application.rb Datei: Modul Blorgh Klasse Motor < :: Rails :: Motor Ende Ende

die --mountable Option zum --full Option hinzufügen wird:

Asset-Manifest-Dateien (application.js und application.css) Ein Namensraum Applicationstummel Ein Namensraum ApplicationHelper Stummel Eine Layout-Ansicht Vorlage für den Motor Namespace Isolation/routes.rb config:

Blorgh :: Motor. routes.draw tun Ende

Namespace Isolation lib/blorgh/engine.rb:

Modul Blorgh Klasse Motor < :: Rails :: Motor isolate_namespace Blorgh Ende Ende

Zusätzlich teilt der --mountable Option, um den Generator den Motor im Inneren des Dummy-Testanwendung bei Test/Dummy befindet sich zu montieren, indem Sie die folgenden auf die Dummy-Anwendung Routen-Datei bei Test/Dummy/config/Routen Hinzufügen .rb:

Halterung Blorgh :: Motor => "/ blorgh"

app/controllers/blorgh/articles_controller.rb:

require_dependency "blorgh/application_controller"

Modul Blorgh Klasse ArticlesController < Application ... Ende Ende

+0

Ich habe die gleiche Dokumentation, aber warum meine Routen funktionieren nicht von meinem Root-Anwendung Ordner? – user3906755