ใช้ Pundit Policy จัดการ permitted parameters ทั้งค่า default และแยกราย action
10 กุมภาพันธ์ 2565
ในการจัดการ permitted params คุณสามารถเพิ่ม permitted_attributes และ permitted_attributes_for_#{action} ใน policy ของคุณได้ เช่น
class CommentPolicy < ApplicationPolicy
def permitted_attributes
%i[body]
end
def permitted_attributes_for_create
%i[body application_id]
end
end
จากนั้นใน controller ของคุณ
class CommentController
def create
@comment = Comment.create(comment_attributes) # { body: 'body', application_id: 1 }
end
def update
@comment = Comment.find(params[:id])
@comment.update(comment_attributes) # { body: 'new body' }
end
private def comment_attributes
permitted_attributes(Comment)
end
end