コードでこれをランダムに見つけました:
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などのようなことをします配列から値を取得します。
なぜなのか