Gần đây tôi đã gặp yêu cầu tương tự (và vấn đề). Trên Rails 3 và Ruby 1.9.2.
Nó không phải là một vấn đề cho môi trường dàn dựng/sản xuất của chúng tôi (nginx), nhưng tôi đã quan tâm để tìm hiểu vấn đề là gì với WEBrick. Hóa ra vấn đề nằm trong phương thức URI :: Parser.split, cụ thể là cách đối sánh mẫu của nó được tạo hạt giống với các hằng số URI :: REGEXP :: PATTERN.
Bạn có thể "sửa" điều này bằng cách thêm phần sau vào config/environment/development.rb (giả sử bạn chỉ sử dụng WEBrick trong dev .. hoặc bạn có thể đặt nó trong tệp cấu hình/khởi tạo) ..
# this allows WEBrick to handle pipe symbols in query parameters
URI::DEFAULT_PARSER =
URI::Parser.new(:UNRESERVED => URI::REGEXP::PATTERN::UNRESERVED + '|')
NB: cài đặt đó: UNRESERVED => "-_.! ~ * '() A-zA-Z \ d |"
Bạn có thể muốn sửa chữa các lỗi đánh máy trong tiêu đề của bạn ... – hurikhan77
có bạn đặt '# mã hóa: UTF-8' ở phía trên cùng của bạn các tập tin? 1,9+ là rất nhạy cảm về nhân vật, thật đáng buồn. – oma