我有一个包含多个表单的页面,表单和字段的加载时间似乎比它应该的要慢。
我的表格看起来像这样
-@leaders = Leader.select("id, full_name")
-@managers = Leader.select("id, full_name")
=form_for organization, remote: true do |f|
=f.fields_for :projects, [project] do |project_fields|
Status:
=project_fields.collection_select :status_id, Status.all, :id, :title
Current Manager
=project_fields.fields_for :project_managers, [pm] do |project_manager_fields|
-# 50+ entries
=project_manager_fields.collection_select :manager_id, @managers, :id, :full_name
Current Lead
=project_fields.fields_for :project_leads, [pl] do |project_lead_fields|
-# 50+ entries
=project_lead_fields.collection_select :lead_id, @leaders, :id, :full_name
这只是一个人为的例子。我已经预先加载了所有内容,因此 fields_for 不会访问数据库。这有很大的不同,但它仍然太慢。我还尝试缓存每个使速度可以接受的内容,但我不认为缓存是预期的解决方案。
我还能做些什么来让它渲染得更快吗?
ruby 1.9.2 或 1.9.3、Rails 3.2.6、sqlserver 适配器(使用 mysql 一切都更慢)、Ubuntu 10.04 VM(托管在 windows 2k3 中)、4gb、3ghz xeon cpu
这在 mongrel/passenger 上的开发和生产速度很慢,其他页面加载速度可以接受。