Tôi không biết tại sao bạn cần tải current_user trong danh sách chọn. Nhưng bạn có thể tùy chỉnh lựa chọn trong mô hình người dùng như sau:
def user_for_select(user)
self
.where(id: user.id)
.pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
end
end
Chỉnh sửa phụ thuộc vào nhận xét:
Thêm phương thức sau vào mô hình người dùng:
def is_manager?
self.role == "manager"
end
Sau đó cập nhật lựa chọn như sau:
def user_for_select(user)
if user.is_manager?
self
.pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
.unshift(['All', 'all'])
else
self
.where(id: user.id)
.pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
end
end