2011-02-07 9 views
1

私のチームでレンダリングします。特定のビューは、いくつかのコントロールを含む検索フォームをレンダリングしています(<select>)。選択タグは時折間違ったデータアプリケーション(2.3.8のver)<strong>Railsの</strong>で奇妙なバグを追跡しようとしている

%form#search 
    = collection_select :product, :id, Product.all, :id, :name 
    = collection_select :product, :vendor_id, Vendor.all, :id, :name 
    ... a few more 

すべての今して、ランダムの両方であるように思わ何で:これらのコントロールは、HAMLする(ver。3.0.18)テンプレートとその内容がそのようになどのActiveRecordのオブジェクト(簡体)から移入さでレンダリングされていますそして稀、制御は各<option>は、例えば、同じ形で異なる選択から乱数(そのエントリのRubyの#object_idことが疑われる)、または値のいずれかであるとレンダリング - 製品名を選択すると、ベンダーの名前、およびその逆でレンダリング。私たちはこの問題を再現することはできませんが、それは数回起こるのを見ました。

は、誰もがこれを引き起こす可能性がある可能HAML/Railsのバグを認識している、または私たちは、このエラーさらにトレース、または何が起こっているいくつかの洞察を得ることができる方法についてどのような考えを持っていますか?ありがとう。

+0

ビューでDBにクエリを実行する代わりに、インスタンス変数としてデータを渡すように試みましたか? – polarblau

+0

@polarblau再現が難しいので、テンプレートにインスタンス変数を渡すために多くの変更があるかどうかはわかりません。 – sa125

+0

データベース値の冗長なロギングをファイルに実装することをお勧めします(できればビューの代わりにコントローラ内にプルすることをお勧めします)。エラーが発生した後、ファイルの奇妙さをチェックしてください。あなたがそれを見たら、それはあなたのモデルから来ていることを知っています。そうでなければ、それはHamlから来ている。私がそれが後者だったら私は驚くだろう。 – Phrogz

答えて

1

私も同様の問題がありますが、私たちはHamlを使用していません。代わりに、JSPでSpring MVC 3.0を使用しています。あまり頻繁ではありませんが、当サイトのユーザーはselectタグでランダムな値を取得します。この選択タグを埋めるリストには7000以上のレコードがあります。私はそれがデータのサイズに関係していると思いますし、ブラウザは正確な値を入力できません。つまり、選択する実際の値が5000番目の位置であれば、ブラウザーはその位置にあるものをレンダリングしてから5000番目の位置に到達します。これは、選択をレンダリングするために使用されるスプリングタグの問題でもあります。以上の正確な値をロードするためにJavaスクリプトを使用するには、この問題、私は(これが最善のアプローチではないかもしれない)らは、周りの仕事を来て

。あなたたちは溶液で正確な問題を知るようになった場合

、私は同様に知ってください。ありがとう

Amit :)

0

これは私には、キャッシングの問題のように聞こえます。あなたはcache_moneyのようなモデルレイヤーにキャッシュするために何かを使用していますか?

関連する問題