0
在視圖我有這個rails如何轉換post變量類型?
<%= hidden_field :hold, i, value: true %>
我意識到,這兩個控制器上:保持和值都是字符串。
params[:hold]['0'] == 'true' => true
params[:hold][0] => nil
是否有在視圖和控制器之間進行類型轉換的最佳做法?
在視圖我有這個rails如何轉換post變量類型?
<%= hidden_field :hold, i, value: true %>
我意識到,這兩個控制器上:保持和值都是字符串。
params[:hold]['0'] == 'true' => true
params[:hold][0] => nil
是否有在視圖和控制器之間進行類型轉換的最佳做法?
我不知道我是否正確。但是,params就像一個哈希。你從params得到的所有東西都是字符串。所以PARAMS應該是這樣的:
params = {'hold': {'0': 'true'}}
你可以通過字符串 '真',是這樣的:
params['hold']['0']
或者你可以用符號做到這一點,就像這樣:
params[:hold][:'0']
由於:0在語法上不正確,因此必須使用:'0'來創建符號。
這實際上取決於個人喜好,以使用哪個。我會做這樣的:
params[:hold]['0']
一個建議:如果你的'i'變量是一個整數索引和你在一個循環中創建的隱藏字段,那麼也許它可能是更清晰和更容易使用,如果工作您將索引附加到單詞中;例如:'<%= hidden_field:hold,「index#{i}」to_sym,value:true%>'。然後在你的控制器中,你可以簡單地使用':index1'獲取這個值。如果這更容易......否則下面的答案也是正確的。 –