因为项目需要,找个下rails上的ajax自动填充表单的插件,在agilewebdevelopment上找到了auto_complete上面说这个插件是官方的插件,应该不错先用ruby script/plugin install auto_complete安装然后就是使用了 1.首先在一Controller中加入 auto_complete_for :report, :title :report是对应的model名, title是字段名 2.在控制器中定义一action def auto_complete_for_report_title search = params[:report][:title] @articles = Report.find(:all, :conditions => ["title like ?", "%#{search}%"], :limit => 10, :order => "id DESC") unless search.blank? render :partial => "live/search" end action的命名要以auto_complete_for_开始,然后是对应上面定义的auto_complete_for :report, :title 3.然后在view中调用就行了,记得先调用rails的default js文件 <% form_tag '/welcome/auto_complete_for_report_title' do %> <%= text_field_with_auto_complete :report, :title, { :size => 35, :value => '' } %> <% end %> 其中value是指默认文本框的value值为空,因为我在测试时发现每次代开页面时文本框的value值会自动与当前页面模型的title进行绑定显示,这样显然不行的,所以就加了这条属性,让它每次都自动为空 4.生成的模板文件会自动创建,在views/live/_search.rhtml中,根据自己的需要定制就行 5.然后打开页面测试时报错,说是表单认证错误,后来google了下才知道,rails2.0后为了防止外部调用表单,进行数据库的操作,加了此项安全措施,只用在application.rb中加入 protect_from_forgery :only => [:create, :update, :destroy] 就行了 6.样式可以自定义,打开页面后,查看下源代码,就知道定义那些属性了,可以覆盖的
2008-05-29 01:08:45, 1211 reviews, comment
send to mailbox
少年,不点下广告吗!
all by shitou
blog comments powered by Disqus