Rails sẽ tự động gọi to_i
trên thông số của bạn cho một số , chủ yếu là những phương thức mà một số nguyên được mong đợi làm tham số, như Listing.find(params[:id])
.
Tuy nhiên, đối với các loại phương pháp tìm kiếm khác có thể chấp nhận chuỗi làm tham số, bạn sẽ cần gọi to_i
theo cách thủ công
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
Lý do bạn không gặp vấn đề với MySQL là MySQL thực hiện những gì có hiệu lực là một to_i
về phần cuối của nó (nghĩa là đây không phải là vấn đề về bộ điều hợp cơ sở dữ liệu, mà là khả năng của máy chủ cơ sở dữ liệu thực tế).