私がする必要があるのは、動的な列を持つテーブルを作成し、列名とそのデータ型をハッシュから取得できるようにすることです。
たとえば、以下のコード スニペットをご覧ください。
COLUMNS = { :column1 => 'integer',
:column2 => 'string',
:column3 => 'string',
:column4 => 'date'
}
静的な方法では、次のようにすることができます。
create_table :details do |t|
t.integer column1
t.string column2
t.string column3
t.date column4
t.timestamps
end
しかし、それは少しハードコードされているように見えますが、私はそれで満足していません。
私の考えは、次のようにすることです。
create_table :details do |t|
COLUMNS.each_pair do |key,value|
#to define each column and its data type
t[value] key
end
t.timestamps
end
残念ながら、私が望むようには機能していないようです。