Some routes stopped working

I'm relatively new to Rails, so the solution to this might be more
trivial than I think However, I am working on an app, and everything
was working fine until just recently. The problem is I'm not sure
*when* I might have screwed up, hence my not knowing where the problem
lies.

I'm running Rails 2.1.2

All routes in routes.rb were working fine, but for some reason, a few
stopped working. Here is my routes code:

All routes in routes.rb were working fine, but for some reason, a few
stopped working.

do you have any error-messages? what did you call? what do you get?

Thanks for the reply. This is what's in the log:

LOG

Processing SiteController#signup (for 127.0.0.1 at 2009-01-12
15:41:17) [GET]
  Session ID:
BAh7BzoMY3NyZl9pZCIlYjUzYTM5Yjk4ZmY4ZGQwMzM0YmFkZWIzYzM1MTc2
MjMiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=--9a211b8e03c1b16513a196e3fb3f3c468f12bca9
  Parameters: {"action"=>"signup", "controller"=>"site"}

ActionController::UnknownAction (No action responded to signup):
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/filters.rb:579:in `call_filters'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/filters.rb:572:in `perform_action_without_benchmark'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
    C:/INSTAN~1/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/rescue.rb:201:in `perform_action_without_caching'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/caching/sql_cache.rb:13:in `perform_action'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/
active_record/connection_adapters/abstract/query_cache.rb:33:in
`cache'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/
active_record/query_cache.rb:8:in `cache'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/caching/sql_cache.rb:12:in `perform_action'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/base.rb:529:in `send'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/base.rb:529:in `process_without_filters'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/filters.rb:568:in
`process_without_session_management_support'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/session_management.rb:130:in `process'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/base.rb:389:in `process'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/dispatcher.rb:149:in `handle_request'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/dispatcher.rb:107:in `dispatch'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/dispatcher.rb:104:in `synchronize'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/dispatcher.rb:104:in `dispatch'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/dispatcher.rb:120:in `dispatch_cgi'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/dispatcher.rb:35:in `dispatch'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel/rails.rb:76:in `process'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel/rails.rb:74:in `synchronize'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel/rails.rb:74:in `process'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:159:in `process_client'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:158:in `each'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:158:in `process_client'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:285:in `run'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:285:in `initialize'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:285:in `new'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:285:in `run'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:268:in `initialize'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:268:in `new'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel.rb:268:in `run'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel/configurator.rb:282:in `run'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel/configurator.rb:281:in `each'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel/configurator.rb:281:in `run'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/mongrel_rails:128:in `run'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/../lib/mongrel/command.rb:212:in `run'
    C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.2-x86-mswin32/
bin/mongrel_rails:281
    C:/INSTAN~1/ruby/bin/mongrel_rails:19:in `load'
    C:/INSTAN~1/ruby/bin/mongrel_rails:19

Rendering C:/INSTAN~1/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/
action_controller/templates/rescues/layout.erb (not_found)

User CONTROLLER:

class UsersController < ApplicationController
  before_filter :login_from_cookie
  before_filter :login_required, :only => [:edit, :update]

  # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
  verify :method => :post, :only => [:create], :redirect_to =>
{ :controller => :site }
  verify :method => :put, :only => [:update], :redirect_to =>
{ :controller => :site }

  # GET /question/1
  # Show user's questions
  def show
    @user = User.find_by_login(params[:id])

    @questions = @user.questions.paginate(:page => params
[:page], :per_page => 10, :conditions => "NOT anonymous")

    respond_to do |format|
      format.html # show.html.erb
    end
  end

  # GET /users/new
  def new
  end

  # POST /users
  # Signup a new user
  def create
    cookies.delete :auth_token
    # protects against session fixation attacks, wreaks havoc with
    # request forgery protection.
    # uncomment at your own risk
    # reset_session

    @user = User.new(params[:user])
    @user.gender = params[:user][:gender].to_i
    @user.birthdate = Date.new(params[:date]['birth_year'].to_i, params
[:date]['birth_month'].to_i, params[:date]['birth_day'].to_i)
    @user.country = params[:user][:country]

    # Validate the beta invitation code.
    if REQUIRE_INVITE_TO_SIGNUP
      beta_verify = Digest::MD5.hexdigest("asecretkeygoeshere"+params
[:user][:email])
      unless params[:invitation_code] == beta_verify
        flash[:notice] = "The invitation code you used is not valid."
        render :action => 'new'
        return
      end
    end

    if verify_recaptcha(@user) && @user.save
      self.current_user = @user

      # Create the user's stats table
      stat = Stat.new(:user_id => @user.id)

      if stat.save
        # Send the new user welcome email
        UserNotifier.deliver_signup_notification(@user)

        redirect_to home_path
      else
        @user.destroy
        stat.destroy unless stat.nil?
        flash[:error] = "Your account couldn't be created"
        render :action => 'new'
      end
    else
      render :action => 'new'
    end
  end

  # GET /users/1/edit
  # Changing username, email, or profile
  def edit
    # @user = User.find(params[:id])
    @user = current_user
  end

  # PUT /users/1
  # Changing username, email, or profile
  def update
    # @user = User.find(params[:id])
    @user = current_user

    @user.attributes = params[:user]
    @user.gender = params[:user][:gender].to_i
    @user.birthdate = Date.new(params[:date]['birth_year'].to_i, params
[:date]['birth_month'].to_i, params[:date]['birth_day'].to_i)
    @user.country = params[:user][:country]

    respond_to do |format|
      if @user.save
        format.html { redirect_to home_path }
      else
        format.html { render :action => 'edit' }
      end
    end
  end

end

link_to from VIEW

<%= link_to image_tag("signup1.png"), signup_path %>

The others are similar. I've been trying out different plugins as
well. Could that have caused this problem? Thanks.

Well I'm a RoR newbie but what I see is the following:

1) Error Message:
somebody called /site/signup (right?)
but your controller (site) doesn't have such an action. Here your
would have to define one.
The actions you have definied in your site controller are
- new
- show
- update
- create
- edit

2) Routes
But you route signup the following way
map.signup '/signup', :controller => 'users', :action => 'new'

It seems to me that there is some inconsistency.

I hope I was some help :wink:

This is the users controller that I included on the last post, not the
site controller. However, the site controller is as follows:

class SiteController < ApplicationController
  caches_page :terms_of_service, :privacy_policy, :about, :custom404
  before_filter :login_from_cookie

  def index
    # If a user is logged in, only show questions they haven't
answered

    if logged_in?
      @questions = Question.paginate(:page => params[:page],
                                      :per_page => 20,
                                      :conditions => ["NOT EXISTS
(SELECT id FROM replies WHERE (replies.user_id = ?) AND
(replies.question_id = questions.id))", current_user.id],
                                      :include => :user,
                                      :order => 'questions.created_at
DESC')
    else
      @questions = Question.paginate(:page => params[:page],
                                     :per_page => 15,
                                     :include => :user,
                                     :order => 'questions.created_at
DESC')
    end

    respond_to do |format|
      format.html
    end
  end

  def terms_of_service
    respond_to do |format|
      format.html
    end
  end

  def privacy_policy
    respond_to do |format|
      format.html
    end
  end

  def about
    respond_to do |format|
      format.html
    end
  end

  def custom404
    render :partial => "custom404", :layout => "application", :status
=> "404"
  end
end

Problem solved, I'm just an idiot