2014-01-23 78 views
0

蓋伊 這是紅寶石紅寶石表單數據接收

<%= form_tag("/page/create", method: "get") do %> 
<% 5.times do %> 
<%= text_field_tag :Name,(params[:Name]), size: 10 %><br> 
<% end %> 
<%= submit_tag("send") %> 
<% end%> 

只是簡單的形式,爲什麼在我的控制@Name=params['Name']不和我一起工作呢?

總是不給我任何東西?

+1

您需要發佈您的控制器代碼。你的問題信息太少。同時發佈Web服務器控制檯輸出以查看Web服務器在http請求中接收的內容。 – Beartech

+0

顯示參數的控制檯輸出將非常有用。此外,您應該使用'@ name'而不是'@ Name',因爲這將是慣用的ruby。 –

回答

0

我覺得你有幾件事會在這裏:

更改<%= text_field_tag :Name,(params[:Name]), size: 10 %><br><%= text_field_tag :Name, size: 10 %><br>可能是前進的第一步。

1

您發佈多個相同的參數。這導致一個空的params['Name'],除了你填寫最後的輸入字段。

大多數框架只使用參數列表中的最後一個,丟棄具有相同名稱的多個參數。

如果您想將一組字段傳遞給您的控制器,請使用尾部開合方括號來命名您的字段,如下所示:text_field_tag 'Name[]'。這使得Rails使用你輸入值的數組填充params['Name']

請注意,:Name[]不是Ruby中的有效符號,因此您必須使用String作爲text_field_tag助手的第一個參數。

+0

當我試圖使用[]這樣 <%= text_field_tag:名稱[],(PARAMS [:名]),尺寸:15%> 其給我錯誤 – Astm

+0

這就是爲什麼我沒有使用符號':Name''但是一個字符串''Name'' – mikezter