我有一個集合中選擇這樣的:Ruby Rails集合選擇顯示空白的「提示」值?
<%= f.collection_select :region_id, Region.find(:all), :id, :name, { :prompt => 'Select a State/Province' }, :style => "width: 200px;" %>
有時從提示:出現提示選項,但有時事實並非如此。有誰知道我可以開始排除故障嗎?也許我一直都在看它太長時間......
我有一個集合中選擇這樣的:Ruby Rails集合選擇顯示空白的「提示」值?
<%= f.collection_select :region_id, Region.find(:all), :id, :name, { :prompt => 'Select a State/Province' }, :style => "width: 200px;" %>
有時從提示:出現提示選項,但有時事實並非如此。有誰知道我可以開始排除故障嗎?也許我一直都在看它太長時間......
而不是
:prompt => "Select a State/Province"
嘗試
:allow_blank => "Select a State/Province"
編輯:是檢查API後,我可以看到我是有困惑,提示根據文檔是正確的方式,可能它只是有時出現,因爲你的對象已經有一個值,因此提示符在那裏,但它不是下拉列表中當前選定的值?
:include_blank
與您的空白選項的值似乎是伎倆。試試這個:
{:include_blank => "Please select"}
這應該是被接受的答案(Rails 3.2.6) – 2012-09-12 05:44:18
只需要注意一點:這不會考慮傳入` include_blank`如果你使用`select_tag`方法。相反,使用`prompt`。 – 2015-06-15 19:37:17
我一直有同樣的問題。使用'提示'似乎爲選擇標籤創建了一個屬性,問題是沒有我知道的這樣的屬性。加上它明顯不是在Rails文檔http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_select中描述的內容。
使用include_blank對我來說似乎是一個很好的解決方法。
乾杯,羅賓。
如果它正在創建屬性,則必須使用大括號括住提示符,例如`{prompt:true}`。這將Rails幫助器方法的選項散列與HTML元素的屬性散列分開。只有方法的最後一個散列參數可以不帶大括號。 – Chloe 2017-06-29 17:52:18
:prompt
當沒有選定的值時出現在列表中。
:include_blank
總是出現在列表中,即使您已將選定值加載到選定值。
,如果你希望你的選擇總是有"Select a State/Province"
作爲第一個選項:
<%= f.collection_select :region_id, Region.all, :id, :name, include_blank: 'Select a State/Province' %>
如果你想你的收藏有
"Select a State/Province"
作爲第一個選項,只有當它不被選中的區域
:
<%= f.collection_select :region_id, Region.all, :id, :name, prompt: 'Select a State/Province' %>
源:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html
試試這個<%= f.collection_select :region_id, Region.all, :id, :name, {prompt: 'Select a State/Province'}, {class: "form-control"} %>
只是爲了澄清:你是說上面的確切代碼有時起作用,有時不起作用,或者你有兩個類似代碼的集合選擇一個工作,另一個沒有? – 2010-08-31 13:22:34