自己創造scope方法
重點在於將邏輯從controller抽出到model裡面
app/models/post.rb
class Post < ApplicationRecord
# ... 略
scope :recent, -> { order("created_at DESC")}#排序
scope :available, -> { where(is_available: true) }#is_available
scope :price_over, ->(p) { where(["price > ?", p]) }#價格是否大於
end
app/controllers/groups_controller.rb
def show
@group = Group.find(params[:id])
@posts = @group.posts.recent >>這樣漂亮乾淨多了
end
公用的方法
.created_at >何時創建的.updated_at >何時更新的
沒有留言:
張貼留言