Кодирование параметров Rails с помощью Passenger

#ruby-on-rails #passenger

#ruby-on-rails #пассажир

Вопрос:

Я запускаю приложение (на Dreamhost), которое отлично работает в среде разработки, но не работает должным образом на производстве. Я попытался устранить все возможные различия: например, используя тот же экземпляр mysql.

Единственное, что я вижу, это то, что параметры моего запроса, похоже, закодированы странно.

Вот как они выглядят в экземпляре разработки:

Этот поиск:

 GET "/individuals?utf8=✓amp;search[firstname_like]=amp;search[lastname_like]=jonesamp;commit=Search"
  

Выдает эти параметры:

 Parameters: {"utf8"=>"✓", "search"=>{"firstname_like"=>"", "lastname_like"=>"jones"}, "commit"=>"Search"}
  

В производственном экземпляре:

 GET "/individuals/?utf8=%E2%9C%93amp;search%5Bfirstname_like%5D=amp;search%5Blastname_like%5D=jonesamp;commit=Search"
  

Выдает эти параметры:

 Parameters: {"commit"=>"Search", "search[firstname_like]"=>"", "utf8"=>"✓", "search[lastname_like]"=>"jones"}
  

Кажется, что в строке запроса есть дополнительные «25».

Есть идеи, что дает?

Комментарии:

1. Похоже, что по какой-то причине они дважды закодированы. Возможно, вам захочется сравнить версии используемых вами gems.

Ответ №1:

Оказывается, это была проблема с Apache «mod_rewrite». У меня был файл .htaccess из html5boilerplate, который вызывал проблему.