2016-04-18 46 views
3

我想保存到數據庫的輸出參數(我保存這個:params.inspect) - 這裏是一個例子這是應該的字符串保存:Rails:「Mysql2 ::錯誤:錯誤的字符串值:」當試圖保存「params.inspect」

> {\"utf8\"=>\"✓\", \"_method\"=>\"patch\", \"authenticity_token\"=>\"fpQC8FY8+qztD41jjcFSJRars539KRshw/vczmmJd9Q=\", 
> \"car\"=>{\"role_type\"=>\"1\", \"admin_id\"=>\"67\", 
> \"branch_id\"=>\"1\", \"template_id\"=>\"21\", \"cost\"=>\"0.00\", 
> \"carrier_additional_cost\"=>\"0.00\", ... 

首先,我試圖挽救PARAMS這樣的:

all_params  = params.except(:controller, :action).inspect 

,但沒有成功。所以:

all_params  = params.except(:controller, :action).inspect.encode("iso-8859-1") 

而且這樣的:

all_params  = params.except(:controller, :action).inspect.encode("iso-8859-1").force_encoding("utf-8") 

返回相同的錯誤。

如何正確保存params.inspect的輸出?

我嘗試保存此數據的列是text,而不是string

感謝使用params代替params.inspect

+0

什麼是意外的字符串值?它是'✓'嗎? –

+0

我相信 - 一切看起來像一個「正常」字符... – user984621

+0

'params.to_s.encoding'給你什麼? –

回答

0

嘗試。

params樣本輸出
{"controller"=>"users", "action"=>"show", "id"=>"1"}
這是一個哈希我想這是你想要在你的數據庫中保存的內容。

+0

謝謝Jeffrey,但仍然面臨這個錯誤。 – user984621