2017-11-06 9 views
0

私はPostgresデータベース関数のシグニチャaccount_lives('1', '1', '1')を持っています。DB関数をアクティブレコードクラスの下にラップしたいと思います。どのように私はそれを行うことができます任意のアイデア?私のデータベース関数がパラメータを期待していることを確認してください。 私はレールから生のSQLを実行したくありません。データベース関数をレールでアクティブなレコードクラスにラップする方法

+0

はい、あなたは何を試みましたか? – max

+0

あなたは 'ActiveRecord :: Base.connection.execute(" account_lives( '1'、 '1'、 '1') ")'を使用したくないと思います。 'account_lives'関数内のロジックをモデルに移さないのはなぜですか? –

答えて

0

ActiveRecordには、データベース機能を操作するための特定のインターフェイスがありません。 ActiveRecord::Calculationsには、count(),max()/min()などの集計関数用のいくつかの(非常に有用な)ラッパーが含まれていますが、それ以上のことは自分で行っています。データベースがそのコンテキストでその関数を使用することを許可していると仮定すると、ARがSQLフラグメントに置き換えることができるところでは、例えば#select#count#group#havingなどの関数呼び出しをドロップすることができます。

+0

ありがとう、私は同じのための独自のラッパーを書くことを計画しています。 –

関連する問題