Cho phép nói rằng tôi muốn tạo một trang có thể truy vấn đối tượng mong muốn bằng loại (chuỗi) và id (int).Tham chiếu Mẫu có đầu vào Chuỗi
/truy vấn loại? = Người & id = 1
sẽ lấy tôi
Person.find (1)
trong khi
/que ry? type = thành phố & id = 123
sẽ lấy tôi
City.find (123)
Tuy nhiên, tôi có vấn đề như thế nào để dịch dây vào mong muốn lớp mô hình.
Cách duy nhất tôi có thể nghĩ đến là
case params[:type]
when 'people'
@object = Person.find(params[:id])
when 'cities'
@object = City.find(params[:id])
end
Tuy nhiên, phương pháp này sẽ được khá nhiều vấn đề nếu tôi có nhiều loại mô hình.
Có cách nào tốt hơn không?
Cảm ơn bạn trước,
Nếu bạn cố gắng làm điều này tự động bạn có thể kết thúc trong một tình huống mà một kẻ tấn công có thể gửi "/query? type = TOP_SECRET_TABLE & id = 1 "và nhận thông tin anh ấy không được phép truy cập. Hãy coi chừng những gì bạn muốn. – Sebi
Nó thực sự có nghĩa là cho ajax cho các đối tượng gắn thẻ. Vì vậy, bước tiếp theo của tôi sẽ giống như thẻ @ object.tags <<. Nhưng muốn giữ câu hỏi đơn giản nên hỏi theo cách này. Dù sao cũng cảm ơn! – rickypai