Ok. Ich habe gelöst.
1) erstellen Gemfile in vendor/plugins/mag my_plugin:
# Gemfile
source "http://rubygems.org"
gemspec
2) erstellen gemspec Datei. Im Ordner Verkäufer/plugins folgenden Befehl ausführen:
bundle gem my_plugin
(Hinweis: Dieser Befehl Sie bitten, für einige Dateien überschreiben Überprüfen Sie die Dateien vor der Antwort. Y)
3) öffnen gemspec Datei in vendor/plugins/my_plugin/und fügen Sie vor dem Schlüsselwort end:
s.add_dependency('will_paginate', '~> 3.0.pre2')
(in diesem Beispiel habe ich will_paginate verwendet, wie requi rot dipendency von my_plugin)
4) Jetzt in Ihrem Rails-Anwendung gehen und bearbeiten Gemfile hinzufügen:
gem 'my_plugin', :path=>'vendor/plugins/my_plugin'
Der Pfad soll festgelegt, dass Ihr Plugin ist bereits in vendor/plugins Ordner Ihrer Schienen App. Natürlich bei der Bereitstellung von Schienen App brauchen Sie nicht mehr zu spezifizieren : Pfad Argument.
5) Jetzt in Rails-Anwendung root tun:
bundle install
Und Abhängigkeit von my_plugin (will_paginate in diesem Fall) installiert ist.
Vielen Dank an Sinetris für die erste Eingabe.
Ich habe ein ähnliches Problem, aber in meinem Fall ist es kein Plugin, es ist ein Motor/Juwel. Ich habe getan wie du gesagt hast, das 'bundle install' installiert die Edelsteine als Abhängigkeiten. Aber es scheint, dass die Anwendung diese Edelsteine nicht lädt oder initialisiert, was überall Fehler von undefinierten Methoden verursacht. Der Motor an sich funktioniert in Ordnung. Hast du eine Idee, was fehlt? – Tiago
Ich habe das gleiche Problem wie Tiago, aber meine * ist * ein Plugin. 'bundle install' installiert alle Abhängigkeiten - ich sehe sie in Gemfile.lock - aber sie werden nicht von Rails geladen. Was fehlt? – davemyron
Ich musste meine init.rb zu rails/init.rb verschieben, die nach der geladenen Rails-Anwendung geladen werden. Ich hatte auch Probleme beim Zugriff auf 'Rails.root' beim Laden des lib-Codes, löste es, indem ich einen Init-Code nach rails/init.rb bewegte. –