enumのプルダウン

f.selectとenumの組み合わせでプルダウンが作れる。

<%= f.select (:role, [[:general, 0],[:admin, 1]]) %>

=>
<select name="role" id="role">
  <option value="0">general</option>
  <option value="1">admin</option>
</select>

adminを選ぶと、params[:role] = 1が送られる。

ransack検索 + enum + i18n + プルダウン
<%= f.select :role_eq, User.roles_i18n.invert.map{|key, value| [key, User.roles[value]]} %>