0

モデルを作成し、テーブルを適切に設定しました。データは保存されますが、検索しようとするとエラーが発生します

/opt/ruby/lib/ruby/gems/1.8/gems/aws-sdk-1.8.0/lib/aws/record/scope.rb:169:in `send': undefined method `title' for Prop:Class (NoMethodError)

条件付きで検索しようとすると:

/opt/ruby/lib/ruby/gems/1.8/gems/aws-sdk-1.8.0/lib/aws/record/scope.rb:169:in `send': undefined method `conditions' for Prop:Class (NoMethodError)

Prop.where("title = 'blah') を試すとき

/opt/ruby/lib/ruby/gems/1.8/gems/aws-sdk-1.8.0/lib/aws/record/scope.rb:169:in `send': undefined method `where' for Prop:Class (NoMethodError)

基本的に、私のテーブルは Prop と呼ばれ、属性は id、title、date_time などです。find(id) または find_by_id(id) 以外は、そのエラーで失敗します。

他にすべきことはありますか?

ありがとう!

4

1 に答える 1

1

DynamoDb キーは、ハッシュまたはハッシュと範囲の組み合わせのいずれかです。

DynamoDb では、キーのクエリのみを実行できます (新しい LSIローカル セカンダリ インデックスを定義しない限り)。
LSI を使用しても、範囲キー属性を持たないテーブルに対して複雑なクエリを作成することはできません。

Prop オブジェクトにハッシュ キー属性 - id しかない場合。
すべてのテーブルを検索し(Scanと呼ばれる操作)、アプリで必要なものをフィルタリングする必要があります

于 2013-04-28T09:18:48.543 に答える