¿Podría ayudarme a mostrar los datos de un HASH en una selección de mi vista? Tengo mis datos hash en la vista, pero necesito el valor de la opción para tener los ID.
Rieles 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>ver código inspeccionado
<div class="form-group row"><label class="col-sm-2 col-form-label">Select</label> <div class="col-sm-10"> <select class="form-control mb" 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>MODELO
class Usuario < ApplicationRecord FONASA = 1 ISAPRE = 2 PREVISION = [ :FONASA, :ISAPRE ] endPrimero necesitas buscarlos en tu controlador así
@prevision = Usuario::PREVISION Luego puede agregarlos en su archivo .erb así:
<select class="form-control mb" 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>Para agregar según el comentario de @engineersmnky, si desea que sea un hash, debe hacer que su modelo tenga:
PREVISION = { '1': 'FONASA', '2': 'ISAPRE', }Luego, debe cambiar el código de sus vistas a:
<select class="form-control mb" 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>