Rails3模块帮助

时间:2010-11-23 19:53:33

标签: ruby-on-rails autocomplete

所以我目前正在尝试从2.3升级 - > 3,我遇到了一个问题。在rails 2.3中,我有一个由自动完成方法组成的模块。所以在按键时,ajax请求将被发送到相应的消息。例如:

/补助/ 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

的来源

2 个答案:

答案 0 :(得分:1)

autocomplete_for_grant_nameauto_complete_for_grant_name拼写自动填充的方式不同。

答案 1 :(得分:0)

我不知道如何回答您的实际问题,但我觉得值得指出的是:conditions => "name like '%"+name+"%'"是一个巨大的错误。这很容易发生SQL注入攻击。

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