2016-08-18 44 views
0

我正在構建Rails應用程序。我正在使用dynamodb作爲數據庫表。我得到的錯誤「提供的關鍵元素與模式不匹配」​​

所提供的關鍵要素不匹配模式

在我的幫手/控制器:

session[:id] = @record.id 

筆者認爲:

<% record_id = TableName.find(session[:id]) %>

我打印了session[:id]並進行了檢查,它具有特定記錄的正確標識。還檢查了分貝。記錄與我想要的一個匹配。它在軌道控制檯中工作正常。

但是,當我運行應用程序,我得到了上述錯誤。

請幫忙。

+0

您錯過了什麼在您的視圖中 – davidhu2000

+1

當您將id作爲數字傳遞並將其作爲字符串傳遞時,它在Rails控制檯中工作正常嗎?也許只是在你的ID上調用'to_i'就可以解決你的問題? – Raffael

+0

這並沒有解決問題。現在我已經爲這個問題增加了更多的清晰度。 –

回答

0

當您從DynamoDB中得到該錯誤時,這是​​因爲您提供的密鑰與表中的密鑰類型不匹配。您的表中有一個鍵被定義爲一個字符串,並且您正在傳入一個數字;反之亦然 - 表格的關鍵是一個數字,並且您將它作爲一個字符串傳遞。

相關問題