Frage

Ich schreibe ein Juwel, die Helfer für Ansichten bietet. Die HTML-I über die Helfer einfügen will, ist komplex genug, dass ich lieber in einer _partial.html.erb Datei schreiben würde. Wie erhalte ich die Auffassung Weg des Edelstein gehören in der LOAD_PATH Anwendung?

Hinweis: das einzige Juwel ich gefunden habe, dass so etwas wie dies tut, ist Devise. Wenn eine Ansicht nicht gefunden werden kann, Rails druckt den Lastpfad wie die (auf meinem Rechner) aussieht:

Missing partial sortable_nested_set/tree with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/home/jason/VirtualRestaurant3/app/views", "/home/jason/.rvm/gems/ruby-1.9.2-preview3/gems/devise-1.1.rc0/app/views"

Wie Devise es tun?

Mein Juwel: http://github.com/jrmurad/SortableNestedSet Devise gem: + http: //+github.com/plataformatec/devise

War es hilfreich?

Lösung

Wenn Sie das ‚App‘ Verzeichnis im Basisverzeichnis Ihres Plugins setzen, Rails fügt app / Blick auf die Ansicht Pfad standardmäßig aktiviert.

.
├── app
│   └── views
│       └── plugin_name
│           └── _my_partial.html.erb

Dann können Sie die teilweise von Ihrem Plugin Helfer-Methode mit machen:

render :partial => "plugin_name/my_partial"

Beachten Sie, dass Rails nicht die Ansichten standardmäßig in der Plugin-Testumgebung zur Verfügung stellen. Um Fügen sie dort die folgenden Test / test_helper.rb hinzufügen:

ActionController::Base.prepend_view_path File.dirname(__FILE__) + "/../app/views"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top