2010-03-15 49 views
2

我用:從PARAMS閱讀[] Rails中

<%= select("payment", "id", { "Visa" => "1", "Mastercard" => "2"}) %> 

,我在HTML得到這個

<select id="payment_id" name="payment[id]"><option value="2">Mastercard</option> 
<option value="1">Visa</option></select> 

現在我怎麼能與params[]閱讀payment[id],如果我使用PARAMS [付款[ id]]我得到一個錯誤。

回答

2

我想最好是有

params[:payment][:id]

params爲散列函數,並可以包含一些其他的哈希值。

+1

不應該這是params [:付款] [:id] – 2010-03-15 13:07:48

+0

是的快,我修好了 – shingara 2010-03-15 13:10:41

2

這一個讓我偶然發現了幾個小時,當我第一次開始使用ruby/rails時。

params[:payment][:id] 

或...

params['payment']['id'] 

很多人喜歡用符號(::符號)過去,因爲內存使用的字符串,無論在你的控制器和視圖,你可與訪問支付的id收益有多小......

0

params [:payment] [:id]和params [:payment] [:id]在表面上是相同的,但實際上,在ruby中,您不能訪問付款的身份證與參數[:付款] [:身份證]。因爲rails已經改變了它的使用。

+0

你有一個錯字嗎?因爲在我的生活中,所有三個參數[:付款] [:id]'在你的回答中看起來都一樣 – 2013-02-04 20:56:52