rails:3640
From: Ohyama <ohyama@r...>
Date: Thu, 13 Oct 2011 11:04:31 +0900
Subject: [rails:3640] Re: selectが多すぎて開くのが重い、何とかならないか
大山と申します、初投稿です。 よろしくおねがいします。 多くて困る「select」とはHTMLのselectフィールド(プルダウン)を 指しているのでしょうか? それともSQLのSELECT文を指しているのでしょうか? 前者であれば、ページを分割するのはいかがでしょう? 1ページにselectフィールドを20個ぐらいにするように ページングするなど。 (20個という数に根拠はありません。たとえば、という数値です) 後者であれば、railsの検索処理のギミックなどを併用するなどして 処理時間の圧縮を検討してみてはいかがでしょうか? On Wed, 12 Oct 2011 20:08:40 +0900 dezawa <dezawa@a...> wrote: > 出沢です > > Schedule, Plan, Person の3つのModelがあります。 > Schedule は has_many で150〜200ぐらいの Plan を持っています。 > Plan は Person に belongs_to していて担当者を指定しています。 > Person は 30件位の数です。 > > Scheduleの1インスタンスの編集画面でPlanを一覧表にし、そこに > 担当者名を表示しています。(その他にplan当たり11のinput、7つの表示) > 担当者はあらかじめ決まっているのですが、たまに変更が必要に > なるので、担当者名欄は select で変更可能にしています。 > > で、一応動くのですが、selectが200近くもあるためか表示されるまでに > とても時間がかかります。 > 表示画面で3秒 > 編集画面で27秒(内データのダウンロードで7秒、描画20秒) > selectを表示に変えて19秒 > selectをinput_field にして20秒 > > しかも、もう1フィールドselectにしてくれ、という要望が出るのが > 目に見えています。 > input並に早くする方法はないものでしょうか。 > > ### > 今3方向で考えています。 > 1. 「12のinput,select が必要」な作業モードと、一番使う「3つのinput、 > selectが必要」な作業モードにわけ、一番使うモードの描画を早くする > これは他の方法と両立するのでやるつもりです > > 2. select を止め input で代用し、controllerで名前から id に変換する > これはあまりにもあまりなので、どうしようもなく、1だけでは不満 > な時に取り組みます。 > > 3. Ajaxで何とかならないか > > 今日久しぶりに東京に出たので、八重洲で探してきたのですが、Ajaxの本は > 生なAjaxの話で、Railsの手軽さになれた身ではすぐには取り組む気になれず > ペンディング > RailsでのAjaxの話は3〜10ページで、取り上げている機能は今使っている本と > 変わらず、とりあえずは買わずに戻って来ました。 > > それらの機能だと次の二つがなんとかなるかな、と思っている所です > auto_completeで代用できないか。名前とidと両方扱えるか未確認ですが > 名前欄のhyper_linkで link_to_remote して :update で selectにする > > 苦し紛れにこんなことを考えているわけですが、スマートな方法、普通は > こうするよ、という方法がありましたら教えてください。 > > よろしくお願いします。 > > > > > -- > ML: rails@r... > 使い方: http://QuickML.com/ -- ML: rails@r... 使い方: http://QuickML.com/
3635 2011-10-12 13:08 [dezawa@a... ] selectが多すぎて開くのが重い、何とかならないか 3636 2011-10-12 16:01 ┣[yukihiro.k@g... ] 3637 2011-10-12 17:31 ┃┣[masaki@h... ] 3638 2011-10-13 02:26 ┃┗[dezawa@a... ] 3639 2011-10-13 03:46 ┃ ┗[yukihiro.k@g... ] -> 3640 2011-10-13 04:04 ┣[ohyama@r... ] 3641 2011-10-13 05:32 ┃┗[dezawa@a... ] 3643 2011-10-13 09:25 ┃ ┗[dezawa@a... ] 3644 2011-10-13 15:39 ┃ ┗[masaki@h... ] 3645 2011-10-13 18:35 ┣[motoyuki.oya@g... ] 3646 2011-10-14 00:02 ┃┗[dezawa@a... ] 3650 2011-10-14 03:27 ┗[dezawa@a... ]