[前][次][番号順一覧][スレッド一覧]

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...         ]