Exercise 1: Strong Parameters, No Separate Class — Possible Solution ==================================================================== WHAT params.require(:page).permit(:title) DOES ------------------------------ Per this chapter, params.require(:page) raises an error if the incoming request doesn't include a top-level :page key, and .permit(:title) then returns a filtered hash containing only the :title field, silently dropping anything else present in the submitted data. Together they form Rails' own protection against mass assignment - only explicitly named fields can ever reach page.update!. WHY page_params LIVES AS A PRIVATE METHOD ON THE CONTROLLER ------------------------------ Per this chapter, Rails' own convention treats Strong Parameters as an ordinary private method on whichever Controller handles the request, not as a job requiring a dedicated, separate class. Django's ModelForm and Laravel's FormRequest both exist as their own class files specifically to hold validation logic outside the Controller/view - Rails doesn't need that separation for this specific job, since permit's entire responsibility (deciding which fields are allowed) fits naturally as a small private helper directly on the Controller that already owns the request. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly explains what require and permit each do, and correctly explains that Rails' own convention keeps this logic as a private Controller method rather than reaching for a separate class the way Django and Laravel both do.