Select Options

This gem creates a select tag and a series of contained option tags for the provided object and method. Helper takes options from model’s constant and translates it according to the translations file (‘composite_attributes` section).

Installation

In Gemfile:

gem 'select_options'

Usage example

For example, you have a model User with the field role and a constant ROLES:

class User < ActiveRecord::Base
  ROLES = %w(admin user)
  ...
end

in the template you have just write:

<%= f.select_with_options :role %>

In case if you have the constant, named differt from the field name, like this:

class Shape < ActiveRecord::Base
  DIMENTION_VALUES = [2, 3]
  ...
end

in the template you should use option :source

<%= f.select_with_options :dimention, :source => Shape::DIMENTION_VALUES %>

Translations in en.yml for an ActiveRecord child look like this:

en:
  activerecord:
    composite_attributes:
      user:
        role:
          admin: Administrator
          user: User

or like this:

en:
  activerecord:
    attributes:
      shape:
        dimention_2: 2D
        dimention_3: 3D

This code will generate translated collection of options for select tag:

<select name="user[role]">
  <option value="admin" selected="selected">Administrator</option>
  <option value="user">User</option>
</select>

Copyright © 2011 Dmitriy Vorotilin, Evrone.com. See LICENSE.txt for further details.