选择标记偶尔渲染错误的数据

时间:2011-02-07 12:19:28

标签: ruby-on-rails haml

我的团队试图在 Rails (版本2.3.8)应用程序中跟踪一个奇怪的错误。某个视图正在呈现包含少量<select>控件的搜索表单。这些控件在 Haml (版本3.0.18)模板中呈现,其内容从ActiveRecord对象中填充,如此(简化):

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

每隔一段时间,似乎是随机的和罕见的,控件呈现每个<option>是一个随机数(怀疑是该条目的红宝石的#object_id)或来自不同的值选择相同的形式,例如 - 产品名称选择具有供应商名称的渲染,反之亦然。我们无法重现这个问题,但已经看过几次。

是否有人知道可能导致此问题的可能的Haml / Rails错误,或者对如何进一步追踪此错误或者对正在发生的事情有所了解?感谢。

2 个答案:

答案 0 :(得分:1)

我有类似的问题,但我们没有使用Haml。相反,我们使用带有JSP的Spring MVC 3.0。不常见,但我们网站的用户在select标记中获取随机值。填充此选择标记的列表包含7000多条记录。我想这是与数据大小有关的一些事情,浏览器无法填充确切的值。换句话说,如果要选择的实际值是第5000个位置,浏览器会在到达第5000个位置之前呈现它手头的任何内容。这可能也是用于渲染选择的spring标记的问题。

要解决这个问题,我可以使用java脚本加载确切的值来解决这个问题(可能这不是最佳方法)。

如果你们知道解决方案的确切问题,也请知道。感谢

Amit :)

答案 1 :(得分:0)

这对我来说听起来像是一个缓存问题。您是否在模型层使用任何缓存,例如cache_money?