問題タブ [ruby-datamapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
372 参照

ruby - Ruby-Datamapper アプリケーションの途中でテーブル名を指定

Datamapper を使用してテーブルを動的に作成し、クエリを実行したいと考えています。

Datamapper を使用すると、レガシー テーブルとスキーマを操作できますが、この方法で使用されるテーブル名を設定できますが、これはアプリケーション内ではなく、初期化中にのみ行われます。

アプリケーションで割り当てられたテーブル名を持つモデルを移行/アップグレードするよう Datamapper に指示し、次にこのテーブルを照会するように指示する簡単な方法はありますか?

0 投票する
1 に答える
417 参照

ruby - DataMapperを使用してインスタンスをリロードする方法

ARで長年の経験を積んだ後、ORMフレームワークとしてDataMapperを使用しています。そのため、ARの動作を反映した特定のDM関数を見つけようとすることがあります。幸運なこともあれば、そうでないこともあります。#reloadディレクティブを使用すると、私はちょっと困惑しています。その方法は存在しますが、どういうわけか私が期待したことをしません。基本的に、インスタンス属性がDBを見上げて更新されるAR動作の代わりに、DMはインスタンスのすべての属性を「ロードされていない」とマークします。

DMを使用してこれを達成できるかどうか誰かに教えてもらえますか?

0 投票する
0 に答える
377 参照

ruby - Datamapper の 1 対 1 の関連付け (1 つある) の問題

postgres に関連して datamapper を使用しています

次のように定義された2つのクラスがあります。

これを実行して dep モデルにアクセスしようとすると、エラーが発生します: undefined method 'rec_id' for #

私の研究によると、作成されたモデルには 1 対 1 の関係はありません。代わりに、1 対多の関係があります。それが問題だと思います。datamapper で 1 対 1 の関係を作成する方法はありますか?

さらに、「has 1」で :required => false を使用することはできません

両側に belongs_to を使用すると、適切な関係が作成されません。代わりに、望ましくない関係を作成します。誰でもこの問題で私を助けることができますか?

0 投票する
2 に答える
1108 参照

ruby - Ruby:クエリ結果でDataMapper::Collectionの代わりに配列を取得する方法

これが私のコードです:

today_ids_from_db = Rating.all(:fields => 'my_id', :ts_d => Time.now)

today_ids_from_db.class == DataMapper::Collection

しかし、my_id値を持つ単純なruby配列を取得する必要があります

これを達成する方法は?

0 投票する
1 に答える
144 参照

ruby-datamapper - Datamapper - :destroy コールバックが 2 回呼び出される前に?

何らかの理由で、DataMapper モデルの 1 つのインスタンスで destroy を呼び出すと、「before :destroy」コールバックが 2 回実行され、エラーが発生します。問題のモデルには、親側に :destroy 制約がある別のモデルとの属している関連付けがあります。なぜこれが起こっているのか誰にもわかりますか?

0 投票する
2 に答える
268 参照

ruby - datamapperjsonの最後に追加します

DataMappers.to_jsonメソッドによって生成されたJSONの最後に別のキーと値のペアを追加する方法を考えていました。を呼び出そうとするとto_json(:methods => [:total_pages])、メソッドビットがすべて無視されます。

私はそれがこのようなものを生み出すことを望みます:

メソッドをインラインで実行する方法はありますか?

ありがとう!

0 投票する
1 に答える
82 参照

ruby - Data-Mapper パッセンジャーおよび Ruby 1.8 の下

パッセンジャーとRuby 1.8で実行されているdatamapperを使用してフィールドで必須を宣言すると、sinatraアプリにエラーが表示されます

エラー: Person:Class に未定義のローカル変数またはメソッド「必須」

これは、datamapper と ruby​​ 1.8、またはパッセンジャー、または必要な属性を宣言する方法の問題ですか?

0 投票する
1 に答える
730 参照

ruby - Ruby Datamapper が同じアプリで異なるデータ ストレージを使用する方法

私はdatamapperでsinatraを使用しており、複数のデータベースに接続して同じアプリのロジックごとに使用したいと考えています。

app.rb などのファイルでデータマッパー設定を定義しています。

xyz テーブルに対応する最初のモデル ファイル (xyz_db.rb) で、このテーブルはデフォルトのデータ ストア :default にあります。

2 番目のモデル ファイル (userlogrecord_db.rb) は、userlogrecords テーブルに対応し、そのテーブルは他のデータ ストア :logrecdm にあります。

私の3番目のモデルファイル(abc_db.rb)は、abcに対応し、そのテーブルは他のデータストア:mydbにあります

app.rb を実行すると、最初のモデル (xyz_db.rb) はデフォルトでデフォルトのデータストアを使用します。しかし、2 番目と 3 番目のモデルについては、それぞれ :logrecdm と :mydb データ ストアに生成する必要があります。これを実現するには、2 番目と 3 番目のモデルにどのような変更を加える必要がありますか? 3 番目のデータ ストア (:mydb) では、dm-reflective を使用しています。http://datamapper.org/docs/misc.htmlを見てきましたが、実際には役に立ちません。どんな助けでも大歓迎です。

0 投票する
1 に答える
115 参照

ruby - 親オブジェクトを破棄できません

次のような大規模で複雑な User モデルがあります。

私の問題は、Datamapper が破棄させてくれないことです。これは、Datamapper が破棄されていない子オブジェクトを含むオブジェクトを破棄したくないためだと考えたので、links_to_followers、links_to_followed、下にあるコメント、およびプロフィール画像で destroy を呼び出すメソッド destroy_deep を追加しました (これらはすべて正しく破棄されます)。 .

しかし、その後 user.destroy を呼び出しても、ユーザーは破棄されません。いかなる種類のエラー メッセージもありません。欠落しているカスケード削除コマンドのようなものはありますか?