Read more

Rails routing: Using constraints to avoid "Missing template" errors

Deleted user #4117
October 08, 2019Software engineer

You can use constraints in your routes.rb to avoid getting errors when wrong routes are called. Instead, the user will see a 404.

Illustration online protection

Rails Long Term Support

Rails LTS provides security patches for old versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2)

  • Prevents you from data breaches and liability risks
  • Upgrade at your own pace
  • Works with modern Rubies
Read more Show archive.org snapshot

If you want multiple routes to use the same constraint you can use the block syntax:

constraints(format: 'html') do
  resources :pages
  resources :images
end

If you want constraints only on certain routes, you can do:

get '/users/account' => 'users#account', constraints: { format: 'html' }

Note: You can also avoid this error through format constraints in your controllers.

Posted to makandra dev (2019-10-08 10:23)