Please note that the "1" in the URL is not action id or session id but the category or page id stored in database.
The error log says: [code] Processing ApplicationController#index (for xxx.xxx.xxx.xxx at 2010-12-19 09:32:18) [GET]
ActionController::RoutingError (No route matches "//pages/1/display" with {:method=>:get}):
Rendering /home/hof/etc/rails_apps/ha/public/404.html (404 Not Found) [/code]
hmmm. I've never seen such error before, a bit lost.
Here is my route.rb:
[code] ActionController::Routing::Routes.draw do |map| map.resources :users
map.resources :notifications
map.resources :pages, :member => {:display => :get, :display_free_style => :get}
map.resources :events, :collection => {:display => :get}
map.resources :subcategories
map.resources :categories #, :has_many => :subcategories
map.root :controller => "hof"
map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format' end [/code]
rake routes shows the following result:
[code]
users GET /users(.:format) {:action=>"index", :controller=>"users"} POST /users(.:format) {:action=>"create", :controller=>"users"} new_user GET /users/new(.:format) {:action=>"new", :controller=>"users"} edit_user GET /users/:id/edit(.:format) {:action=>"edit", :controller=>"users"} user GET /users/:id(.:format) {:action=>"show", :controller=>"users"} PUT /users/:id(.:format) {:action=>"update", :controller=>"users"} DELETE /users/:id(.:format) {:action=>"destroy", :controller=>"users"} notifications GET /notifications(.:format) {:action=>"index", :controller=>"notifications"} POST /notifications(.:format) {:action=>"create", :controller=>"notifications"} new_notification GET /notifications/new(.:format) {:action=>"new", :controller=>"notifications"} edit_notification GET /notifications/:id/edit(.:format) {:action=>"edit", :controller=>"notifications"} notification GET /notifications/:id(.:format) {:action=>"show", :controller=>"notifications"} PUT /notifications/:id(.:format) {:action=>"update", :controller=>"notifications"} DELETE /notifications/:id(.:format) {:action=>"destroy", :controller=>"notifications"} pages GET /pages(.:format) {:action=>"index", :controller=>"pages"} POST /pages(.:format) {:action=>"create", :controller=>"pages"} new_page GET /pages/new(.:format) {:action=>"new", :controller=>"pages"} edit_page GET /pages/:id/edit(.:format) {:action=>"edit", :controller=>"pages"} display_free_style_page GET /pages/:id/display_free_style(.:format) {:action=>"display_free_style", :controller=>"pages"} display_page GET /pages/:id/display(.:format) {:action=>"display", :controller=>"pages"} page GET /pages/:id(.:format) {:action=>"show", :controller=>"pages"} PUT /pages/:id(.:format) {:action=>"update", :controller=>"pages"} DELETE /pages/:id(.:format) {:action=>"destroy", :controller=>"pages"} display_events GET /events/display(.:format) {:action=>"display", :controller=>"events"} events GET /events(.:format) {:action=>"index", :controller=>"events"} POST /events(.:format) {:action=>"create", :controller=>"events"} new_event GET /events/new(.:format) {:action=>"new", :controller=>"events"} edit_event GET /events/:id/edit(.:format) {:action=>"edit", :controller=>"events"} event GET /events/:id(.:format) {:action=>"show", :controller=>"events"} PUT /events/:id(.:format) {:action=>"update", :controller=>"events"} DELETE /events/:id(.:format) {:action=>"destroy", :controller=>"events"} subcategories GET /subcategories(.:format) {:action=>"index", :controller=>"subcategories"} POST /subcategories(.:format) {:action=>"create", :controller=>"subcategories"} new_subcategory GET /subcategories/new(.:format) {:action=>"new", :controller=>"subcategories"} edit_subcategory GET /subcategories/:id/edit(.:format) {:action=>"edit", :controller=>"subcategories"} subcategory GET /subcategories/:id(.:format) {:action=>"show", :controller=>"subcategories"} PUT /subcategories/:id(.:format) {:action=>"update", :controller=>"subcategories"} DELETE /subcategories/:id(.:format) {:action=>"destroy", :controller=>"subcategories"} categories GET /categories(.:format) {:action=>"index", :controller=>"categories"} POST /categories(.:format) {:action=>"create", :controller=>"categories"} new_category GET /categories/new(.:format) {:action=>"new", :controller=>"categories"} edit_category GET /categories/:id/edit(.:format) {:action=>"edit", :controller=>"categories"} category GET /categories/:id(.:format) {:action=>"show", :controller=>"categories"} PUT /categories/:id(.:format) {:action=>"update", :controller=>"categories"} DELETE /categories/:id(.:format) {:action=>"destroy", :controller=>"categories"} root / {:action=>"index", :controller=>"hof"} /:controller/:id/:action
[/code]
here is the pages_controller.rb: [code] class PagesController < ApplicationController caches_page :display
@@free_layout_pages = ["Demo Film", "Drive Instruction", "Legal & Credits", "Business Time"]
def index @pages = Page.find(:all, :order => "category_id")
respond_to do |format| format.html format.xml { render :xml => @pages } end end
def show @page = Page.find(params[:id])
respond_to do |format| format.html format.xml { render :xml => @page } end end
def display @page = Page.find(params[:id])
if (@@free_layout_pages.include?(@page.subcategory.name_en)) redirect_to :action => "display_free_style" else respond_to do |format| format.html format.xml { render :xml => @page } end end
end
def display_free_style
@page = Page.find(params[:id])
respond_to do |format| format.html format.xml { render :xml => @page } end end
def new @page = Page.new
respond_to do |format| format.html format.xml { render :xml => @page } end end
def edit @page = Page.find(params[:id]) end
def create @page = Page.new(params[:page])
respond_to do |format| if @page.save flash[:notice] = 'Page was successfully created.' format.html { redirect_to(@page) } format.xml { render :xml => @page, :status => :created, :location => @page } else format.html { render :action => "new" } format.xml { render :xml => @page.errors, :status => :unprocessable_entity } end end end
def update @page = Page.find(params[:id])
respond_to do |format| if @page.update_attributes(params[:page]) flash[:notice] = 'Page was successfully updated.' format.html { redirect_to(@page) } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @page.errors, :status => :unprocessable_entity } end end end
def destroy @page = Page.find(params[:id]) @page.destroy
respond_to do |format| format.html { redirect_to(pages_url) } format.xml { head :ok } end end end [/code]
I just quickly read through the release notes of rails 2.3. But did not get any clue about what I should change to get my app running again. I must have missed something but don't know what.
Could anyone please give me a hint? Any help will be highly appreciated!
Best Regards, Lydia