考虑以下形式:
<%= form_for(@ciudad) do |f| %>
<% if @ciudad.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@ciudad.errors.count, "error") %> prohibited this ciudad from being saved:</h2>
<ul>
<% @ciudad.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :nombre %><br />
<%= f.text_field :nombre %>
</div>
<div class="field">
<%= f.label :departamento_id %><br />
<%= f.select :departamento_id , :prompt => "Seleccione el municipio" %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
如何从数据库中填充deparamento_id
选择标记的选项?
答案 0 :(得分:7)
最简单的方法是使用f.collection_select
代替f.select
。假设您有一个名为Departamento
的表/模型,其中包含一个名为nombre
的字段:
<%= f.collection_select :departamento_id, Departamento.all, :id, :nombre, :prompt => "Seleccione el municipio" %>
您可以在官方Rails指南中了解更多相关信息:http://guides.rubyonrails.org/form_helpers.html#option-tags-from-a-collection-of-arbitrary-objects