开发者

Custom dynamic error pages in Ruby on Rails not working

I'm trying to implement custom dynamic error pages following this post: http://www.perfectline.co.uk/blog/custom-dynamic-error-pages-in-ruby-on-rails

I did exactly what the blog post says. I included config.action_controller.consider_all_requests_local = false in my environment.rb. But is not working.

My browser shows:

Routing Error
No route matches "/555" with {:method=>:get}

So, it looks like the rescues are not fired. I get the following in my log file:

ActionController::RoutingError (No route matches "/555" with {:method=>:get}):
Rendering rescues/layout (not_found)

Is there some routing interfering with the code? I'm not sure what to look for. I'm running rails 2.3.5.

Here is the routes.rb file:

ActionController::Routing::Routes.draw do |map|

  # routing van property-url
  map.connect 'buy/:property_type_plural/:province/:city/:address/:house_number', :controller => 'properties' , :action => 'show', :id => 'whatever'
  map.myimmonatie 'myimmonatie' , :controller => 'myimmonatie/properties', :action => 'index'
  map.login "login", :controller => "user_sessions", :action => "create", :conditions => {:method => :post}
  map.login "login", :controller => "user_sessions", :action => "new"
  map.logout "logout", :controller => "user_sessions", :action => "destroy"
  map.buy "buy", :controller => 'buy'
  map.sell "sell", :controller => 'sell'
  map.home "home", :controller => 'home'
  map.disclaimer "disclaimer", :controller => 'disclaimer'
  map.sign_up "sign_up", :controller => 'users', :action => :new
  map.contact "contact", :controller => 'contact'
  map.resources :user_sessions
  map.resources :contact
  map.resources :password_resets
  map.resources :messages
  map.resources :users, :only => [:index,:new,:create,:activate,:edit,:profile,:password]
  map.resources :images
  map.resources :activation , :only => [:new,:resend]
  map.resources :email
  map.resources :properties, :except => [:index,:destroy]

  map.namespace :admin do |admin|
       admin.resources :users
       admin.resources :properties
       admin.resources :order_items, :as => :orders
       admin.resources :blog_posts, :as => :blog
     end

     map.connect 'myimmonatie/:action' , :c开发者_如何学运维ontroller => 'users', :id => 'current', :requirements => {:action => /(profile)|(password)|(email)/}
     map.namespace :myimmonatie do |myimmonatie|
       myimmonatie.resources :messages, :controller => 'messages'
       myimmonatie.resources :password, :as => "password", :controller => 'users', :action => 'password'
       myimmonatie.resources :properties , :controller => 'properties'
       myimmonatie.resources :orders , :only => [:index,:show,:create,:new]
     end

  map.root :controller => "home"
  map.connect ':controller/:action'
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'

end

ActionController::Routing::Translator.translate_from_file('config','i18n-routes.yml')


The code works, something is wrong with the line in my environment.rb config.action_controller.consider_all_requests_local = false It seems to be overridden somewhere.

So, CASE CLOSED, thanks!


Rails detects when you are browsing with ip 127.0.0.1 and shows you the development environment errors even if you are in production environment. You should try accessing from a different machine to get the proper errors.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜