RailsでデフォルトのDB以外を使う方法&ActiveRecordのvalidate機能を使う方法
RailsのDBをsqliteから他(NOSQLとか)に変更したい場合
- modelファイルで継承しているActiveRecord::Baseを消してやればOKです
# class Test < ActiveRecord::Base <== 通常はこっち class Test ${処理} end
しかし、これではせっかくのRailsを便利にしているActiveRecordの機能が使えません。
そこで、以下でvalidate機能を例にSQLite以外のDBを使いながら、ActiveRecordの機能を利用する方法を書きます。
Railsデフォルト以外のDBを使っていてもvalidate機能を利用する方法
class Test include ActiveModel::Model attr_accessor :param1 validates :param1, :presence => true ${処理} end
- まずはActiveModel::Modelをincludeします
- そして入力値にアクセスできるようにattr_accessorキーワードで指定
- その後は通常通りに宣言していけばOKです
これでNoSQL等をDBにしていてもActiveRecordのValidation機能が利用できます。