Reputation: 6165
How do you check what the datatype is for something that was retrieved from the database?
For example, if I have some instantiation of a model @model with a database field "title", I want to be able to code something like @model.title.type and have it return "String". Does Rails have any built-in functionality for this?
Upvotes: 42
Views: 25051
Reputation: 18484
In Rails 3, for my model "Firm", I'd use Firm.columns_hash
.
Firm.columns_hash["name"].type #returns :string
If you want to iterate through them, you'd do something like this:
Firm.columns_hash.each {|k,v| puts "#{k} => #{v.type}"}
which will output the following:
id => integer
name => string
max_trade_qty => integer
and so on.
Upvotes: 14