2010-11-23 7 views
0

私は現在、2.3 - > 3からアップグレードしようとしており、問題が発生しています。レール2.3では、私はオートコンプリートメソッドで構成されたモジュールを持っていました。したがって、キーを押すと、ajaxリクエストが対応するメッセージに送信されます。たとえば、次のようにRails3 Module Help

/補助金/ auto_complete_for_grant_name

module AutoComplete 

def auto_complete_for_grant_name 
    name = params[:grant][:name].downcase 
    @grants = Grant.find(:all, :limit => 10, :conditions => "name like '%"+name+"%'") 
    render :partial => 'global/grants' 
end 
end 

私はこれが壊れているrails3にアップグレードしたら。私は含まれています:

config.autoload_paths << "#{Rails.root}/lib" 
私application.rbで

、および:

include AutoComplete 

を自分のアプリケーションのコントローラで。

私は間違っていますか?ありがとう!

編集: (Firebugの出力):用のソースの読み込みに失敗しました:http://localhost:3000/grants/auto_complete_for_grant_name

+0

エラーメッセージはありますか? –

+0

エラーメッセージがありますか? "これは壊れています"はあまりにもあまりにも漠然としています。具体的に何が壊れているかについてのより多くの情報は多くの助けになるでしょう – jergason

+0

エラーメッセージは何ですか? – markquezada

答えて

1

autocomplete_for_grant_nameauto_complete_for_grant_nameスペル違っオートコンプリート

+0

申し訳ありませんが、タイプ:( – kfquinn

0

あなたの実際の質問に答える方法はわかりませんが、:conditions => "name like '%"+name+"%'"の巨大なの間違いです。これはSQLインジェクション攻撃の傾向があります。

http://guides.rubyonrails.org/active_record_querying.html#conditions

+0

はい、ユーザーが一重引用符を挿入したときに気付いた – kfquinn

+0

インデックス可能なクエリではなく、セキュリティ上の懸念さて、あなたが実際のデータを取得すると、それはうまくいくでしょうし、遅くなるでしょう。 –