Utilizando o Rails form select

Pesquisei bastante na internet, até achar uma thread demonstrando como utilizar o form select com um array de objetos.

Geralmente meus selects são populados com arrays do ActiveRecord.

@users = User.all
<% form_for @user, :html => { :method => :post } do |f| %>
 <%= f.select :user_id, @users %>

Desta forma o select imprimirá com o to_s de cada objeto do array, para exibir o key (id) e value (descrição), basta utilizar o método collect, que é uma maneira fácil e rápida para esse propósito.

<% form_for @user, :html => { :method => :post } do |f| %>
 <%= f.select :user_id, @users.collect { |user| [user.name, user.id] } %>

Outras maneiras para para usar form select

Com um array simples:

<%= f.select :estados, ['SP', 'PA', 'RJ'] %>

Com um array com arrays:

<%= f.select :estados, [['São Paulo', 'SP'], ['Pará', 'PA'], ['Rio de Janeiro', 'RJ']] %>

Principais referências