2015-05-28 53 views
0

我想material_sort_id如何獲取Ruby on Rails中的參數?

Started GET "/materials?utf8=%E2%9C%93&material%5Bmaterial_sort_id%5D=1&material%5Bbrand_id%5D=1&commit=%E6%9F%A5%E8%AF%A2" for 127.0.0.1 at 2015-05-28 16:06:34 +0800 
Processing by MaterialsController#index as HTML 
     Parameters: {"utf8"=>"✓", "material"=>{"material_sort_id"=>"1", "brand_id"=>"1"}, "commit"=>"查詢"} 

的價值,這是我的代碼:

puts params[:material_sort_id].present? 

我得到了假的。我如何得到它?

回答

6
params[:material][:material_sort_id] 

你可以得到它這樣

1

根據日誌

"material" => {"material_sort_id"=>"1", "brand_id"=>"1"}, "commit"=>"查詢"} 

params[:material_sort_id]"material"鍵裏面,所以你不能直接訪問。 這件事情,就像你有2哈希的第一散鍵包含另一個哈希

e.g { "a" => { "b"=> "1", "c" => "2" } } 

要訪問您可以使用下面。

params[:material][:material_sort_id] 

要檢查是否存在您可以使用以下。

params[:material][:material_sort_id].present? 
1
Loop 
{ 
    //Code 
    puts params[:material][:material_sort_id]; 
} 
+1

好的答案提供了代碼的解釋 –

0

這也許可能是網址是不是有材料本身的哈希值。在這種情況下,您可以編寫

params[:material].try(:material_sort_id) 

在上述情況下,只有物料散列不爲零時,纔會在物料上查詢material_sort_id。如果不是零,它將返回預期的結果,否則返回假而不是任何錯誤

相關問題