Sha256: e4ade628fefc68368aa2bb7819e379b312592b6c1097472248c2cf37b4d454dd

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

# MySQL Enum column type support for Rails >= 4.*

How to use it.

### In you Gemfile:

```
gem 'mysql_enum_column'
```

Then: `bundle install`


### In your schema:

When you create your schema, specify the constraint as a limit:

```
create_table :enumerations, :force => true do |t|
  t.column :severity, :enum, :limit => [:low, :medium, :high, :critical], :default => :medium
  t.column :color, :enum, :limit => [:red, :blue, :green, :yellow]
  ...
end
```


### In the model:

You can then automatically validate this column using:

`validates_columns :severity, :color`

The rest will be handled for you. All enumerated values will be given as symbols.

```
@e = Enumeration.new
@e.severity = :medium
```

You can always use the column reflection to get the list of possible values from the database column.

```
Enumeration.columns_hash['color'].limit

# or

@enumeration.column_for_attribute(:color).limit
```
Will yield: `[:red, :blue, :green, :yellow]`


### In views:

You can use enum_select helper to generate input for enumerated attribute as:

```
 <%= enum_select(@enumeration, 'severity')%>
 or
 <%= form_for @enumeration do |f| %>
    <%= f.label :severity %>
    <%= f.enum_select :severity %>
 <% end %>
```

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mysql_enum_column-0.2.0 README.md