スレ終了まぎわですが、おしえてください。

ユーザ毎にカード型データベースを持たせたいと思っています。
自由にフィールド数を定義でき、入力フィールドも並び替えできるようにしたいと
思ってます(イメージ的には簡易的なデヂエみたいなの)

そこで質問ですが、ユーザ操作でtableを生成することはrails的作法で有りなのでしょうか?
ある程度入力値にルールを設けたいので、validateほにゃららを定義できれば..と
欲張っているんですが、modelに手をいれる必要がありますよね?
generatorとして作らないといけないのでしょうか?