Routing connects a URL from the browser to a specific action in a controller, telling the app what code to run.
Click to reveal answer
beginner
In Rails, what does a route map a URL to?
A route maps a URL to a controller action, which is a method that handles the request and prepares a response.
Click to reveal answer
beginner
Why do we need routing instead of just using URLs directly?
Routing lets the app decide what to do with each URL, so URLs can be simple and meaningful while the app runs the right code behind the scenes.
Click to reveal answer
beginner
How does routing improve user experience in a web app?
Routing lets users use friendly URLs that make sense, while the app handles complex logic invisibly, making navigation smooth and clear.
Click to reveal answer
beginner
What happens if a URL does not match any route in Rails?
Rails shows a 404 error page because it doesn’t know which action to run for that URL.
Click to reveal answer
What does a Rails route connect a URL to?
AA CSS file
BA controller action
CA database table
DA JavaScript function
✗ Incorrect
In Rails, routes connect URLs to controller actions that handle the request.
Why is routing important in a Rails app?
AIt links URLs to the right code to run
BIt styles the webpage
CIt stores user data
DIt manages server hardware
✗ Incorrect
Routing tells the app which controller action to run for each URL.
What happens if a URL does not match any route in Rails?
ARails redirects to homepage
BRails runs a default action
CRails shows a 404 error page
DRails crashes
✗ Incorrect
Rails returns a 404 error when no route matches the URL.
Which file in a Rails app usually defines routes?
Aconfig/routes.rb
Bapp/controllers/application_controller.rb
Capp/views/layouts/application.html.erb
Ddb/schema.rb
✗ Incorrect
Routes are defined in the config/routes.rb file.
Routing helps keep URLs:
AHidden from users
BLong and complex
CRandom and confusing
DSimple and meaningful
✗ Incorrect
Routing allows URLs to be user-friendly while the app handles the logic.
Explain in your own words why routing maps URLs to actions in a Rails app.
Think about how the app knows what to do when you type a web address.
You got /3 concepts.
Describe what happens when a user visits a URL in a Rails application.
Follow the path from the browser to the app’s code.
You got /3 concepts.
Practice
(1/5)
1. Why does Rails use routing to map URLs to controller actions?
easy
A. To decide which code runs when a user visits a specific URL
B. To store user data in the database
C. To style the webpage with CSS
D. To send emails automatically
Solution
Step 1: Understand the purpose of routing in Rails
Routing connects a URL to a specific controller action so the app knows what code to run.
Step 2: Identify what happens when a user visits a URL
The app uses routing to find the right controller and action to respond with the correct page or data.
Final Answer:
To decide which code runs when a user visits a specific URL -> Option A
Quick Check:
Routing = URL to action mapping [OK]
Hint: Routing links URLs to controller actions [OK]
Common Mistakes:
Thinking routing stores data
Confusing routing with styling
Assuming routing sends emails
2. Which of the following is the correct syntax to define a route in Rails that maps GET requests for '/home' to the 'index' action of 'pages' controller?
easy
A. route get '/home' => 'pages#index'
B. get '/home' : 'pages#index'
C. get '/home' => pages#index
D. get '/home', to: 'pages#index'
Solution
Step 1: Recall Rails routing syntax for GET requests
The correct syntax uses get '/path', to: 'controller#action'.
Step 2: Match the syntax to the options
get '/home', to: 'pages#index' matches this pattern exactly, others have syntax errors or missing quotes.
Final Answer:
get '/home', to: 'pages#index' -> Option D
Quick Check:
Correct route syntax uses get '/path', to: 'controller#action' [OK]
Hint: Use get '/url', to: 'controller#action' format [OK]
Common Mistakes:
Missing quotes around controller#action
Using => instead of to:
Omitting commas between arguments
3. Given the route get '/profile', to: 'users#show' and the UsersController with a show action that sets @user = User.find(1), what happens when a user visits '/profile'?
medium
A. The app redirects to the homepage
B. The app runs the show action in UsersController and displays user with ID 1
C. The app runs the index action of UsersController
D. The app shows a 404 error because '/profile' is not defined
Solution
Step 1: Understand the route mapping
The route maps GET '/profile' to the show action in UsersController.
Step 2: Analyze the controller action behavior
The show action finds user with ID 1 and prepares it for the view.
Final Answer:
The app runs the show action in UsersController and displays user with ID 1 -> Option B
4. Look at this route definition: get '/dashboard' 'dashboard#index'. What is the problem here?
medium
A. Missing comma between path and controller#action
B. Wrong HTTP verb used
C. Controller name should be capitalized
D. Route path should start with a capital letter
Solution
Step 1: Check the route syntax
Rails routing requires a comma between the URL path and the controller#action string.
Step 2: Identify the missing comma
The code misses a comma after '/dashboard', causing a syntax error.
Final Answer:
Missing comma between path and controller#action -> Option A
Quick Check:
Routes need commas separating arguments [OK]
Hint: Check commas between route arguments [OK]
Common Mistakes:
Forgetting commas in route definitions
Thinking HTTP verb is wrong
Assuming capitalization matters in routes
5. You want to create a route that maps URLs like '/products/42' to the 'show' action in ProductsController, where '42' is a product ID. Which route definition correctly achieves this?
hard
A. get '/products', to: 'products#show'
B. get '/products/show/:id', to: 'products#show'
C. get '/products/:id', to: 'products#show'
D. get '/products/:product_id', to: 'products#index'
Solution
Step 1: Understand dynamic segments in routes
Rails uses ':id' in the URL to capture dynamic parts like product IDs.
Step 2: Match the route to the show action
The show action expects an ID parameter, so the route must include ':id' and map to 'products#show'.
Step 3: Evaluate options
get '/products/:id', to: 'products#show' correctly uses '/products/:id' and maps to 'products#show'. Others either add extra segments or map to wrong actions.
Final Answer:
get '/products/:id', to: 'products#show' -> Option C
Quick Check:
Dynamic segment ':id' maps URL to show action [OK]
Hint: Use ':id' for dynamic URL parts in routes [OK]
Common Mistakes:
Adding extra path segments unnecessarily
Mapping dynamic segments to wrong actions
Using wrong parameter names
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.