2013-03-07 56 views
0

我有一個導軌形式幫手,看起來像這樣:Rails文本字段助手返回數組?

<%= text_field :username,nil, {:placeholder=>"new username", :value=>nil} %> 

當我看到這個生成的HTML,它看起來像:

input id="username_" name="username[]" placeholder="new username" size="30" type="text" 

(HTML <>刪除)

這使訪問用戶名屬性令人不安。我做的:

@user.username = [:username] 

PARAMS看起來像

{"utf8"=>"✓", "authenticity_token"=>"...", "username"=>["newusername"], "commit"=>"Save", "id"=>"10"} 

而@ user.username被設置爲(逃脫) 「newusername」 - 它被設置爲 「--- - newusername」

無法弄清楚如何擺脫[]表單值!我該怎麼辦?

編輯:由導軌產生整個表格: http://tny.cz/0d5a9397

+0

你可以粘貼整個表單嗎? – 2013-03-07 02:49:11

+0

在帖子底部添加了一個帶有整個表單的pastebin鏈接。 – danktamagachi 2013-03-07 02:53:49

回答

0

你應該使用text_field使用text_field_tag

<%= text_field_tag :username, nil, :placeholder => "new username" %> 

莫名其妙地希望您能對資源的工作。

text_field :user, :username 

,您仍然可以使用text_field但你必須明確地設置名稱

text_field :username, nil, name: 'username' 

什麼我不知道的是,如果你傳遞nil作爲第二個參數,它將設置該字段爲集體標籤,所以我今天學到了新東西。

+0

謝謝!這工作。 text_field_tag和text_field有什麼區別? – danktamagachi 2013-03-07 03:05:42

+0

更新了我的答案以提供更多解釋:) – jvnill 2013-03-07 03:13:14