2011-05-28 38 views
2

我正在運行一個在Dreamhost上的應用程序,該應用程序在開發環境中工作正常,但在生產環境中無法正常工作。我試過消除了我可能的所有差異:例如,使用相同的mysql實例。使用Passenger編碼的Rails參數

我可以看到的唯一的事情是,我的查詢參數似乎編碼奇怪。

下面是他們的發展情況怎麼看:

此搜索:

GET "/individuals?utf8=%E2%9C%93&search%5Bfirstname_like%5D=&search%5Blastname_like%5D=jones&commit=Search" 

可生產這些PARAMS:

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

在生產實例:

GET "/individuals/?utf8=%25E2%259C%2593&search%255Bfirstname_like%255D=&search%255Blastname_like%255D=jones&commit=Search" 

產生這些參數:

Parameters: {"commit"=>"Search", "search%5Bfirstname_like%5D"=>"", "utf8"=>"%E2%9C%93", "search%5Blastname_like%5D"=>"jones"} 

查詢字符串似乎有一個額外的「25」在那裏。

任何想法是什麼給?

+0

看起來他們是雙重編碼出於某種原因。可能想比較你使用的寶石版本。 – tadman 2011-05-28 07:22:19

回答

0

原來這是Apache的「mod_rewrite」問題。我有一個從html5boilerplate導致問題的.htaccess文件。