In meiner Rails-Anwendung ich die folgende Störung erhalte:Nameerror in ProjectsController # Index
NameError in ProjectsController#index
app/controllers/projects_controller.rb:6:in `index'
Meine Strecken wie folgt aussehen:
RailsStarter::Application.routes.draw do
resources :projects
root :to => 'pages#home'
match '/' => 'pages#home'
match '/overview' => 'pages#overview'
match '/recruitmentInfo' => 'pages#recruitmentInfo'
Und das Problem Controller:
class ProjectsController < ApplicationController
# GET /projects
# GET /projects.json
def index
@projects = ::Project.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @projects }
end
end
Meine bisherigen Untersuchungen haben gezeigt, dass Project
noch nicht initialisiert ist, aber das sollte nicht so sein, wie es ac ist Konstruktor, in seiner eigenen Klasse. Ich habe sogar versucht, das vorkompilieren, indem ich diese Zeile config.autoload_paths += %W(#{config.root}/app/controllers)
zu application.rb
hinzufüge. Nichts scheint noch zu funktionieren. Irgendwelche Ideen werden sehr geschätzt. Vielen Dank!
Warum gehst du nicht mit '@projects = Project.all'? Sie benötigen den Namespace-Auflösungsoperator nicht wirklich? –
Das macht keinen Unterschied, abgesehen von dem Fehler 'uninitialized constant ProjectsController :: Project' –
Nun, es bedeutet, dass keine 'Projekt'-Klasse definiert ist. Haben Sie das 'Project'-Modell generiert? –