# [前提]
# 以下の様なデータを持つusersテーブルが作成されているとする。
# | id | name |
# | 1 | taro |
# | 2 | hanako |
require 'active_record'
# ここは使用するDBにあわせる(この例ではSQLite3)
ActiveRecord::Base.establish_connection(
"adapter" => "sqlite3",
"database" => "./hoge.sqlite3"
)
# 各テーブルのModelを動的に作成する
ActiveRecord::Base.connection.tables.each do |table_name|
class_name = table_name.singularize.camelcase
self.class.const_set class_name, Class.new(ActiveRecord::Base)
end
# 以降、いつもどおりにModelを扱える
User.all
# => [#<User id: 1, name: "taro">, #<User id: 2, name: "hanako">]
More than 5 years have passed since last update.
テーブル情報からModelを動的生成する方法 (ActiveRecordの単体利用時)
Last updated at Posted at 2013-11-12
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme