rails:306
From: "y.igarashi" <y.igarashi@g...>
Date: Thu, 28 Jul 2005 17:34:32 -0700
Subject: [rails:306] Re: text_field_with_auto_complete
もりきゅう様、 丁寧な解答ありがとうございます。 大変助かります。 おかげでziptableから取得したzipcodeをmyaddressのzipcodeに渡すことができるようになりました。ただ、まだ問題があってそれを解決しようとしています。 教えていただいた方法では新規にアドレスをつくるときにはうまく動作したのですが、既存のアドレスを編集しようとするとvalue値が欠けてしまいます。したがって、すでに登録してあるはずのzipcodeが記入欄の中に反映されず空白になってしまいます。編集時のhtmlは下記のようになり、value="123-4567"という項目が表示されません。 <input autocomplete="off" id="ziptable_zipcode" name="myaddresstable[zipcode]" size="10" type="text" /> そこでいくつか試行錯誤を重ねてみたのですが、解決には至っていません。 例えば、 :value => "#{params[:zipcode]}"を加えて、 <%= text_field_with_auto_complete :ziptable, :zipcode, :name => "myaddresstable[zipcode]", :value => "#{params[:zipcode]}" %> としてみたのですが、出力されたhtml中では value ="" となりmyaddressのzipcodeをvalue値に埋め込むことができません。 もうしばらく試行錯誤を重ねてみます。 五十嵐 > 2. の結果を 1. にコピーするのは面倒なので (onComplete は使えないし) > 2. を name="myaddresstable[zipcode]" にしてしまえばいいような気がします。 > > <%= text_field_with_auto_complete :ziptable, :zipcode, > "name" => "myaddresstable[zipcode]" %> > としておいて > auto_complete_for の params[object][method] が一致しなくなるので展開して > def auto_complete_for_ziptable_zipcode > find_options = { > :conditions => [ "LOWER(zipcode) LIKE ?", > params["myaddresstable"]["zipcode"].downcase + '%' ], > :order => "zip7 ASC", > :limit => 10 } > > @items = Zipcodetable.find(:all, find_options) > > render :inline => "<%= auto_complete_result @items, 'zipcode' %>" > end > こんな感じでしょうか (頭の '%' を外して前方一致にしてみました)。 -- ML: rails@r... 使い方: http://QuickML.com/ Web Site: http://wiki.fdiary.net/rails/ ML Archives: http://www.fdiary.net/ml/rails/
296 2005-07-27 00:23 [y.igarashi@g... ] text_field_with_auto_complete 297 2005-07-27 04:00 ┗[yu1@t... ] 299 2005-07-28 02:33 ┗[y.igarashi@g... ] 300 2005-07-28 05:29 ┗[moriq@m... ] 301 2005-07-28 05:33 ┣[moriq@m... ] 302 2005-07-28 05:36 ┣[moriq@m... ] 303 2005-07-28 05:41 ┃┗[moriq@m... ] -> 306 2005-07-29 02:34 ┗[y.igarashi@g... ] 308 2005-07-29 09:44 ┗[moriq@m... ]