所以我目前正在尝试从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
的来源答案 0 :(得分:1)
autocomplete_for_grant_name
和auto_complete_for_grant_name
拼写自动填充的方式不同。
答案 1 :(得分:0)
我不知道如何回答您的实际问题,但我觉得值得指出的是:conditions => "name like '%"+name+"%'"
是一个巨大的错误。这很容易发生SQL注入攻击。
http://guides.rubyonrails.org/active_record_querying.html#conditions