Railsで動的にテーブルを作りたく(何かフォームで登録した際に、テーブルを追加する)、模索しています。
UserをUserA,UserB…と登録ごとに作るようなイメージです。
1つのモデルを複数テーブルから利用できれば一番早いのですが、self.table_nameは1つしかテーブル名を指定できないようです。
そこで、生のSQLでテーブルを作成してから、モデルファイルを外部コマンドで作成し、そのモデルを経由してDBアクセスをしようと試みていますが、うまく行きません。
con = ActiveRecord::Base.connection
con.execute(createコマンド)
でDBの作成をし、テンプレートとなるモデルファイルをsystem(cpコマンド)とsystem(sedでクラス名を重複しないよう置換)で作成しています。
テーブルとモデルファイルはうまく作れるのですが、コントローラからUseA.allのようにアクセスしようとすると、uninitialized constantのエラーが出てしまいます。
マイグレーションを利用しないでテーブルを作成した場合、モデルファイルは作成しても使えないのでしょうか。
どうにかしてテーブルを動的に作る方法があれば、お答えいただけると嬉しいです。
回答1件
あなたの回答
tips
プレビュー