【发布时间】:2016-02-08 15:06:29
【问题描述】:
我有一个带有 select 标签的表单,其中包含近 17k 个项目。
<%= f.select :company_industry_id, options_for_select(@company_industries.map{
|c| [c.name, c.id] }, selected_key = @company.company_industry_id),
{}, {:class => 'input_text'} %>
为@company_industries 加载数据大约需要 0.01 秒。
@company_industries = CompanyIndustry.select(:id, :name).order('name ASC')
但是,在 f.select 框中呈现它大约需要 18 秒(如果表单中没有这个 f.select 元素,页面会在 350-400 毫秒内呈现)。
如何避免这种减速?有没有办法优化f.select 元素?或者,f.select 有什么替代品吗?
【问题讨论】:
-
地球上谁是拥有 17K 项的选择的所需用户?
-
它不适合显示。
-
@mudasobwa 我知道我知道......但是,无论如何,客户只是想要它。
-
客户端错误。他们不知道自己真正想要什么。
标签: ruby-on-rails ruby view rendering