Bird
Raised Fist0
Ruby on Railsframework~5 mins

Controller generation in Ruby on Rails - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of generating a controller in Rails?
A controller in Rails handles the incoming web requests, processes data, and sends responses back to the user, often by rendering views or redirecting.
Click to reveal answer
beginner
Which Rails command generates a new controller named 'Articles' with actions 'index' and 'show'?
rails generate controller Articles index show
Click to reveal answer
intermediate
What files are created when you generate a controller in Rails?
Rails creates a controller file (e.g., articles_controller.rb), view folders for each action, a helper file, and test files. Routes are not updated automatically.
Click to reveal answer
intermediate
How does Rails connect a controller action to a URL?
Rails uses routes defined in config/routes.rb to map URLs to controller actions, so when a user visits a URL, the matching controller action runs.
Click to reveal answer
beginner
True or False: Generating a controller automatically creates database tables.
False. Controllers handle requests and responses but do not create or modify database tables; that is done by models and migrations.
Click to reveal answer
Which command creates a new controller named 'Users' with an 'edit' action?
Arails generate controller Users edit
Brails new controller Users edit
Crails create controller Users edit
Drails make controller Users edit
What file does Rails create to define controller actions?
Aapp/views/controller_name/index.html.erb
Bapp/models/controller_name.rb
Cconfig/routes.rb
Dapp/controllers/controller_name_controller.rb
Which folder contains the views for a controller's actions?
Aapp/controllers/controller_name
Bapp/views/controller_name
Capp/models/controller_name
Dconfig/views/controller_name
Does generating a controller automatically add routes for its actions?
ANo, routes must be added manually or by using resourceful routing.
BYes, routes are always added automatically.
COnly if you specify the --routes option.
DYes, but only for the index action.
What is the role of a controller action in Rails?
ATo define database schema.
BTo store data in the database.
CTo process requests and prepare data for views or redirects.
DTo style the webpage.
Explain the steps and files involved when you generate a new controller in Rails.
Think about what happens behind the scenes when you run the generate command.
You got /5 concepts.
    Describe how a Rails controller connects a user's URL request to the code that runs.
    Consider the flow from URL to response.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the rails generate controller command do in a Rails application?
      easy
      A. Compiles the Rails application for production.
      B. Generates a new database table for storing data.
      C. Deletes an existing controller and its views.
      D. Creates a new controller file with specified actions and related view files.

      Solution

      1. Step 1: Understand the purpose of the command

        The rails generate controller command is used to create a new controller in a Rails app.
      2. Step 2: Identify what files are created

        This command creates a controller file and also generates view files for the actions specified.
      3. Final Answer:

        Creates a new controller file with specified actions and related view files. -> Option D
      4. Quick Check:

        Controller generation = creates controller and views [OK]
      Hint: Controller generator creates controller and views together [OK]
      Common Mistakes:
      • Confusing controller generation with database migration
      • Thinking it compiles or deletes files
      • Assuming it only creates views without controller
      2. Which of the following is the correct syntax to generate a controller named Products with actions index and show?
      easy
      A. rails generate controller Products index show
      B. rails create controller Products index show
      C. rails generate model Products index show
      D. rails generate controller products index show

      Solution

      1. Step 1: Identify the correct command keyword

        The correct command to generate a controller is rails generate controller.
      2. Step 2: Check the controller name and actions

        Controller names are capitalized (e.g., Products) and actions follow after the name.
      3. Final Answer:

        rails generate controller Products index show -> Option A
      4. Quick Check:

        Correct syntax = rails generate controller + ControllerName + actions [OK]
      Hint: Use 'rails generate controller' with capitalized controller name [OK]
      Common Mistakes:
      • Using 'create' instead of 'generate'
      • Using 'model' instead of 'controller'
      • Using lowercase controller name
      3. Given the command rails generate controller Articles new edit, which files will be created?
      medium
      A. Only the controller file articles_controller.rb without views.
      B. Model file article.rb and migration for articles table.
      C. Controller file articles_controller.rb and views new.html.erb and edit.html.erb.
      D. Database schema file and routes for articles.

      Solution

      1. Step 1: Understand what the generate controller command creates

        It creates a controller file named after the pluralized controller name and view files for each action.
      2. Step 2: Identify the files created for actions

        Actions new and edit generate corresponding view files new.html.erb and edit.html.erb.
      3. Final Answer:

        Controller file articles_controller.rb and views new.html.erb and edit.html.erb. -> Option C
      4. Quick Check:

        Controller + views for actions = Controller file articles_controller.rb and views new.html.erb and edit.html.erb. [OK]
      Hint: Controller generator creates views for each action named [OK]
      Common Mistakes:
      • Confusing controller generation with model generation
      • Expecting database files to be created
      • Thinking views are not created automatically
      4. You run rails generate controller users show but get an error. Which of the following is the most likely cause?
      medium
      A. Controller name should be capitalized as Users.
      B. The action show is not allowed in controllers.
      C. You must create a model before generating a controller.
      D. The command should be rails create controller users show.

      Solution

      1. Step 1: Check the controller name capitalization

        Rails expects controller names to be capitalized (e.g., Users), lowercase causes errors.
      2. Step 2: Verify command correctness

        The command rails generate controller Users show is correct; show is a valid action.
      3. Final Answer:

        Controller name should be capitalized as Users. -> Option A
      4. Quick Check:

        Capitalized controller name required [OK]
      Hint: Always capitalize controller names in generate command [OK]
      Common Mistakes:
      • Using lowercase controller names
      • Thinking actions are restricted
      • Confusing generate with create command
      5. You want to generate a controller named Admin::Dashboard with actions index and stats. Which command correctly creates the controller and places it in the admin folder?
      hard
      A. rails generate controller admin/dashboard index stats
      B. rails generate controller Admin::Dashboard index stats
      C. rails generate controller Admin_Dashboard index stats
      D. rails generate controller admin_dashboard index stats

      Solution

      1. Step 1: Understand namespacing in Rails controllers

        Using :: in the controller name creates a folder structure for namespacing (e.g., Admin::Dashboard creates admin/dashboard_controller.rb).
      2. Step 2: Identify the correct command syntax

        The correct syntax uses capitalized names with :: to separate namespace and controller name.
      3. Final Answer:

        rails generate controller Admin::Dashboard index stats -> Option B
      4. Quick Check:

        Namespace with :: and capitalized names [OK]
      Hint: Use :: for namespaced controllers with capitalized parts [OK]
      Common Mistakes:
      • Using underscores instead of :: for namespaces
      • Using lowercase names for namespaces
      • Confusing folder path with command syntax
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard