0
我有一個大的多步表單,它使用Wicked逐步構建單個對象。當我測試表單時,我注意到當我按下表單上的後退按鈕(我提供的用於返回上一步的按鈕)時,單選按鈕和選擇字段中的值被設置回默認選項。文本字段顯示用戶輸入的文本。如果用戶在字段中輸入數據,我想將字段值顯示給用戶。如果欄位不爲零,則顯示欄位值
我已經想出瞭如何在我的視圖中使用long if語句來做到這一點,但想簡化它。
<% if @business.business_entity_type.nil? %>
<%= f.select :business_entity_type, options_for_select([["Structure", "0"], ["Sole Proprietorship", "Sole Proprietorship"], ["Partnership", "Partnership"], ["Corporation", "Corporation"]], selected: "0", disabled: "0") %>
<% else %>
<%= f.select :business_entity_type, options_for_select([["Structure", "0"], ["Sole Proprietorship", "Sole Proprietorship"], ["Partnership", "Partnership"], ["Corporation", "Corporation"]], disabled: "0"), :value => @business.business_entity_type %>
<% end %>
當我把這個三元格式,我得到一個語法錯誤。
<%= f.select :business_entity_type, options_for_select([["Structure", "0"], ["Sole Proprietorship", "Sole Proprietorship"], ["Partnership", "Partnership"], ["Corporation", "Corporation"]], <%= @business.business_entity_type.nil? ? selected: "0" : :value => @business.business_entity_type %>, disabled: "0") %>
當我在字段中嵌入一條if語句時,我也得到一個語法錯誤。
<%= f.select :business_entity_type, options_for_select([["Structure", "0"], ["Sole Proprietorship", "Sole Proprietorship"], ["Partnership", "Partnership"], ["Corporation", "Corporation"]], disabled: "0", selected: "0"), :value => @business.business_entity_type if @business.business_entity_type.present? %>
我該如何用更乾淨的代碼實現相同的目標?