0

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!

+1

Warum gehst du nicht mit '@projects = Project.all'? Sie benötigen den Namespace-Auflösungsoperator nicht wirklich? –

+0

Das macht keinen Unterschied, abgesehen von dem Fehler 'uninitialized constant ProjectsController :: Project' –

+0

Nun, es bedeutet, dass keine 'Projekt'-Klasse definiert ist. Haben Sie das 'Project'-Modell generiert? –

Antwort

0

[gelöst]:

1 Reboot machine - the command must interfere with another server process 
2 Check active_support gem versions by running `gem list` and remove them all 
3 Remove `Gemfile.lock` 
3 Run `bundle install` - this will add back your new version of gemfile 
4 Run `rails generate model Project` again 

Dies sollte nun behoben sein!