NameError in CompetitorsController#index

Hi all

I am getting this problem when I run this code in server. In my
localhost everything is running fine. But when I deploy my code in the
server it shows me the error. I am using FERRET SERARCH IN MODEL.

NameError in CompetitorsController#index

uninitialized constant CompetitorsController::Competitor

RAILS_ROOT: /home/troche/mrecip_tool/releases/20091219131859
Application Trace | Framework Trace | Full Trace


My controller is

class CompetitorsController < ApplicationController

  include AuthenticatedSystem
  layout 'application'

  auto_complete_for :proscribed, :competitor
  auto_complete_for :fee_earner, :fee_earner

  protect_from_forgery :only => [:tag]

  before_filter :login_required, :only => [:index, :show, :new, :edit]

  @@total_company = 70

  # GET /competitors
  # GET /competitors.xml
  def index
    @compet = Competitor.find(:all) ### GETTING ERROR IN THIS LINE

    respond_to do |format|
      format.html # index.html.erb
      format.xml { render :xml => @compet }

  # GET /competitors/1
  # GET /competitors/1.xml
  def show
    @competitor = Competitor.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml { render :xml => @competitor }

  # GET /competitors/new
  # GET /competitors/new.xml


Are you sure all your migrations have run successfully on the server?
What happens if you open a console and try `Competitor.find(:all)` ?

Is this in app/models/competitor.rb (case is probably important) ?


Frederick Cheung wrote:

Hassan Schroeder wrote:

Have you checked that there is a competitors table in the production
database (perhaps you forgot to run the migrations on that db as
Hassan suggested)?
Also check that the file app/models/competitors.rb is present on the
production server and restart the server.
You have not answered Hassan's question:
What happens if you open a console and try `Competitor.find(:all)` ?
(on the production server)