Extracting Queries # app/controllers/posts_controller.rb class PostsController < ApplicationController def index @posts = Post.where('published = ? AND published_on > ?', true, 2.days.ago) end end 這是 controllers 內會常見的程式碼,以結果來說完全沒問題,但考量到維護性與可讀性,有可以改進的地方: 在 controllers 內做了太多細節 容易產生不必要重複的程式碼 測試較難撰寫 改進後 # app/controllers/posts_controller.