0
0
Ruby on Railsframework~30 mins

Callbacks overview in Ruby on Rails - Mini Project: Build & Apply

Choose your learning style9 modes available
Callbacks overview in Rails
📖 Scenario: You are building a simple Rails model to manage books in a library. You want to automatically set some values and run checks when books are created or updated.
🎯 Goal: Learn how to use Rails callbacks to run code before and after saving a record.
📋 What You'll Learn
Create a Rails model with attributes
Add a callback to set a default value before saving
Add a callback to print a message after saving
Use the correct Rails callback methods
💡 Why This Matters
🌍 Real World
Callbacks in Rails models help automate common tasks like setting default values or logging changes without repeating code.
💼 Career
Understanding callbacks is essential for Rails developers to write clean, maintainable code that reacts to data changes automatically.
Progress0 / 4 steps
1
Create the Book model with attributes
Create a Rails model class called Book that inherits from ApplicationRecord and has attributes title and status.
Ruby on Rails
Need a hint?

Use attr_accessor to define attributes for this example.

2
Add a before_save callback to set default status
Add a before_save callback in the Book model that sets status to 'available' if it is nil.
Ruby on Rails
Need a hint?

Use before_save :set_default_status and define the method set_default_status.

3
Add an after_save callback to print a message
Add an after_save callback in the Book model that calls a method print_saved_message which prints 'Book saved successfully'.
Ruby on Rails
Need a hint?

Use after_save :print_saved_message and define the method print_saved_message with a puts statement.

4
Complete the Book model with callbacks
Ensure the Book model includes attr_accessor :title, :status, the before_save :set_default_status callback, and the after_save :print_saved_message callback with their respective methods.
Ruby on Rails
Need a hint?

Review all previous steps and ensure the model has all parts combined correctly.