簡體   English   中英

顯示選擇收集哈希 ActiveRecord - Ruby on Rails

[英]display select collect hash ActiveRecord - Ruby on Rails

你能幫我在我的視圖中選擇顯示一個 HASH 的數據嗎? 我在視圖中有我的哈希數據,但我需要選項值來獲得 ID。

導軌 5.2.2

<div class="form-group row"><label class="col-sm-2 col-form-label">Select</label>
   <div class="col-sm-10">
        <%= f.select(:prevision, Usuario::PREVISION.collect{ |u| [u]}, {prompt: 'Seleccionar tipo de previsión'}, {:class=>'form-control m-b',readonly: true ,required: true}) %>
   </div>
</div>

查看檢查過的代碼

<div class="form-group row"><label class="col-sm-2 col-form-label">Select</label>
    <div class="col-sm-10">
        <select class="form-control m-b" readonly="readonly" required="required" name="paciente[prevision]" id="paciente_prevision"><option value="">Seleccionar tipo de previsión</option>
             <option value="FONASA">FONASA</option>
             <option value="ISAPRE">ISAPRE</option>
        </select>
    </div>
</div>

模型

class Usuario < ApplicationRecord


 FONASA  = 1
 ISAPRE  = 2

 PREVISION = [
   :FONASA,
   :ISAPRE
 ]

end

首先,您需要像這樣在控制器中獲取它們

@prevision = Usuario::PREVISION

然后您可以將它們添加到您的.erb文件中,如下所示:

<select class="form-control m-b" readonly="readonly" required="required" name="paciente[prevision]" id="paciente_prevision"><option value="">Seleccionar tipo de previsión</option>
  <% @prevision.each do |p| %>   
    <option value="<%= p %>"><%= p %></option>    
  <% end %>
</select>

要添加基於@engineersmnky 的評論,如果您希望它是一個散列,那么您需要使您的模型具有:

PREVISION = {
  '1': 'FONASA',
  '2': 'ISAPRE',
}

然后您需要將您的視圖代碼更改為:

<select class="form-control m-b" readonly="readonly" required="required" name="paciente[prevision]" id="paciente_prevision"><option value="">Seleccionar tipo de previsión</option>
  <% @prevision.each do |key, value| %>   
    <option value="<%= key %>"><%= value %></option>    
  <% end %>
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM