解决方法
使用text_field_with_auto_complete方法,Rails使文本字段的“建议”式自动完成非常简单.
在Rails 1.x中,此方法内置于ActionView::Helpers::JavaScriptMacrosHelper
中,但对于Rails 2.x则将其移动到a separate plugin.
假设你有一个叫做Post的模型,它有一个称为title的文本字段.在你看来,你通常会使用text_field_tag(或f.text_field),只需使用text_field_with_auto_complete:
<%= text_field_with_auto_complete :post,:title %>
此外,在PostsController中,您必须做出相应的声明:
class PostsController < ApplicationController auto_complete_for :post,:title end
在幕后做的是动态地向控制器添加一个名为auto_complete_for_ [object] _ [method]的动作.在上述示例中,此操作将被称为auto_complete_for_post_title.
值得指出的是,此自动生成的动作所使用的查找调用将对所有模型对象(例如,Post.find(:全部,…).如果这不是您想要的行为(例如,如果要根据登录用户将搜索限制在特定的帖子子集),那么您必须在自己的“自动_complete_for_ [object] _ [method]操作中定义您的控制器.