在 Rails 上显示 select 收集散列 ActiveRecord - Ruby
display select collect hash ActiveRecord - Ruby on Rails
你能帮我在我的视图 select 中显示 HASH 的数据吗?我在视图中有我的哈希数据,但我需要选项值来获得 ID。
Rails 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>
你能帮我在我的视图 select 中显示 HASH 的数据吗?我在视图中有我的哈希数据,但我需要选项值来获得 ID。
Rails 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>