Voraussichtlich zu definieren. Beim Aufruf der Klasse in einem Modul
Ich neue rails. Ich habe ein setup, in das Verzeichnis lib in etwa so:
lib/
blog/
core/
search/
base.rb
Basis.rb definiert die Basis-Klasse als auch:
module Blog
module Core
module Search
class Base
attr_accessor :properties
def initialize(params)
@properties = {}
end
end
end
end
end
Ich habe folgenden code in meiner Anwendung.rb
config.autoload_paths += Dir["#{config.root}/lib/**/"]
Wenn ich es in Beiträgen controller bekomme ich folgenden Fehler:
LoadError in PostsController#index
Expected /home/usr/code/blog/lib/blog/core/search/base.rb to define Base
Irgendeine Idee? Ich bin mit rails 3.2.5 mit RVM. Vielen Dank für jeden Rat.
AKTUALISIERT: noch meine volle stack:
Started GET "/admin/posts" for 127.0.0.1 at 2012-06-08 21:06:18 +0800
LoadError (Expected /home/usr/code/blog/lib/blog/core/search/base.rb to define Base):
app/controllers/admin/base_controller.rb:5:in `<top (required)>'
app/controllers/admin/posts_controller.rb:6:in `<top (required)>'
Rendered /home/usr/.rvm/gems/[email protected]/gems/actionpack-3.2.5/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.9ms)
Rendered /home/usr/.rvm/gems/[email protected]/gems/actionpack-3.2.5/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.6ms)
Rendered /home/usr/.rvm/gems/[email protected]/gems/actionpack-3.2.5/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (7.0ms)
InformationsquelleAutor der Frage Zeck | 2012-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem. Es kommt aus der Tatsache, dass Sie versuchen, zu laden /lib/blog/core/search/base.rb direkt in Anwendung.rb mit
/lib/**/
Fehler die ich hatte:
Verzeichnis-Struktur:
Basis.rb:
Anwendung.rb:
Hier sind die Veränderungen die ich gemacht habe, damit es funktioniert
Verzeichnis-Struktur:
durative.rb:
Basis.rb (keine änderung)
Anwendung.rb (geändert):
Uns sagen, ob es funktionierte auch für Sie.
InformationsquelleAutor der Antwort Wawa Loo
Ich hatte das gleiche Problem. Das problem war, weil ich einschließlich der Unterverzeichnisse, ohne Ihre Eltern-lib-dir:
und
Foo::MyClass zurückkehren würde Voraussichtlich zu definieren MyClass
hinzufügen der lib dir in der config.autoload_paths behebt das problem
InformationsquelleAutor der Antwort Abdo
Nur hinzufügen:
require base.rb
in Ihrem Umgebung.rb-Datei.
Quelle:
http://icebergist.com/posts/expected-xrb-to-define-x-loaderror
InformationsquelleAutor der Antwort gamov
Auch, eine Sache zu prüfen, ist, dass der controller entsprechend benannt.
Zum Beispiel, stellen Sie sicher, dass Ihre posts_controller.rb sieht aus wie diese in der ersten Zeile
Habe ich Fehler gemacht, wo ich kopierte ein controller und verfolgt es bis auf die nicht die änderung der controller-Klassen name
InformationsquelleAutor der Antwort Austio
Wenn Sie haben, dass tief verborgen Klasse dann auf diese Weise:
InformationsquelleAutor der Antwort jdoe
Mein Fehler war, ich hatte
War ich versucht, um meine app organisiert und, wenn man eine namespace - aufteilen war der controller. Leider sieht es so aus Schienen würde nach dem Zufallsprinzip wechseln zwischen den beiden und es würde Konflikte verursacht die Fehler im OP.
Lösung:
Benennen Sie Ihre sub-Verzeichnis und passen Sie alle Routen.
InformationsquelleAutor der Antwort TJ Biddle