0

コードでこれをランダムに見つけました:

Rails で MongoMapper を使用してクエリを作成すると、次のようになります。

@res = 顧客。どこで({$foo, $bar})

そして、@res.inspect を実行すると、次のようになります。

@res is #<MongoMapper::Plugins::Querying::DecoratedPluckyQuery merchant_id: "518b762e89651a0389000013", phone: "**********", transformer: #<Proc:0x007fde074078a0@/usr/local/rvm/gems/ruby-2.0.0-p247/gems/mongo_mapper-0.13.0.beta1/lib/mongo_mapper/plugins/querying.rb:66 (lambda)>>

Ergo - 私の変数は実際のクエリ文字列です。

このように変更すると:

@res = 顧客。すべて({$foo, $bar})

そして、@ res.inspect - 私は得る:

@res is [#<Customer _id: BSON::ObjectId('51a9806589651a05da000001'), account_id: "", admin_id: nil, city_id: "Kailua, Hawaii", company_id: "0", created_at: Sat, 11 May 2013 00:00:00 UTC +00:00, cust_notes: "", datecreated: 2013-01-06 00:00:00 UTC, datemodified: 2013-01-06 00:00:00 UTC, **REMOVED PRIVATE DATA HERE** type: "customer", updated_at: Sun, 15 Sep 2013 22:43:56 UTC +00:00, zip_code: *****>]

エルゴ-実際にはクエリの結果です(これは私がいつも期待していることです)。

奇妙なことに、ここでの具体的な違いは、「respond_to do |format|」を行っていないことです。ビューで @res にアクセスしていません-リダイレクトの目的で、まだコントローラーにある結果を確認しようとしています。

私のアプリケーションの他のどこでも絶対に同じ「Customer.where」または「Job.where」を行っているため、そのインスタンス変数はビューに投げ込まれ、@customer.nameなどのようなことをします配列から値を取得します。

なぜなのか

4

1 に答える 1