rma*_*002 2 jquery autocomplete ruby-on-rails
我有一个带有一个字段的车牌表:vin(车辆识别号码),我想让它在写东西时使这个字段自动完成..好吧,你们都知道我的意思.
我在stackoverflow.com上找到了一些答案,但没用.
我会谈到这一点..我在这里关注它的教程https://github.com/crowdint/rails3-jquery-autocomplete-app 并且它工作得很好,我只是做了一个新的应用程序.所以我决定把它放在我工作的应用程序中,我已经设置了应该是的一切,我猜...但是我得到了这个错误
undefined method `autocomplete' for #< Class:0xb5e2da28>
Run Code Online (Sandbox Code Playgroud)
其次是
app/models/car.rb:2
app/controllers/cars_controller.rb:9:in `index'
Run Code Online (Sandbox Code Playgroud)
这是Car.rb的几行
class Car < ActiveRecord::Base
autocomplete :car, :vin
has_one :carname
has_one :carmodel
Run Code Online (Sandbox Code Playgroud)
一块cars_controler
def index
@search = Car.search(params[:search])
@cars = @search.all.paginate :page => params[:page], :per_page => 18
# @cars = @search.relation.paginate :page => params[:page], :per_page => 18
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @cars }
format.json { render :json => @cars.map(&:attributes) }
end
end
Run Code Online (Sandbox Code Playgroud)
在视野中我有
<%= form_tag do %>
<%= autocomplete_field_tag 'vin', '',car_autocomplete_car_name_path %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
在routes.rb: get 'car/autocomplete_car_vin'
我做了rake路线,我预计如果不是自动完成至少一个工作形式.请帮助使这个工作.谢谢.
更新
感谢bricker我设法用未定义的方法解决问题..表单现在出现了.但是,当我开始在字段中键入字母时,没有自动完成显示甚至更多,在控制台中我得到这个奇怪的事情:"id"=>"autocomplete_car_vin"
Started GET "/cars/autocomplete_car_vin?term=lh" for 127.0.0.1 at Sun Oct 09 07:50:06 +0300 2011
Processing by CarsController#show as JSON
Parameters: {"term"=>"lh", "id"=>"autocomplete_car_vin"}
SQL (0.6ms) SHOW TABLES
Car Load (0.2ms) SELECT `cars`.* FROM `cars` WHERE `cars`.`id` = 0 LIMIT 1
Completed in 38ms
ActiveRecord::RecordNotFound (Couldn't find Car with ID=autocomplete_vin):
app/controllers/cars_controller.rb:29:in `show'
Run Code Online (Sandbox Code Playgroud)
参数人员接受我在这种情况下输入的字母lh(这些是我记录中VIN编号的前2个字母),对于我写的每个字母,我得到这个
"id"=>"autocomplete_vin"并且无法找到ID = autocomplete_vin的Car
为了比较我的应用程序的控制台结果,我将展示教程中的控制台操作,效果很好
Started GET "/welcome/autocomplete_brand_name?term=su" for 127.0.0.1 at Sun Oct 09 04:04:57 +0300 2011
Processing by WelcomeController#autocomplete_brand_name as JSON
Parameters: {"term"=>"su"}
Brand Load (0.6ms) SELECT `brands`.* FROM `brands` WHERE (LOWER(name) LIKE 'su%') ORDER BY name ASC LIMIT 10
Completed 200 OK in 24ms (Views: 4.6ms | ActiveRecord: 0.6ms)
Run Code Online (Sandbox Code Playgroud)
如你所见,没有"id"=>"autocomplete_brand_name".这里有什么问题,如果有人能帮助我,请做..我真的需要这样做,所以我可以继续前进.谢谢.
bri*_*ker 10
该autocomplete线路进入您的控制器:
class CarsController < ApplicationController
autocomplete :car, :vin
# ...
end
Run Code Online (Sandbox Code Playgroud)
另外,请确保已捆绑gem:
gem 'rails3-jquery-autocomplete` # in Gemfile
$ bundle install # in console
Run Code Online (Sandbox Code Playgroud)
并重新启动服务器.
| 归档时间: |
|
| 查看次数: |
3543 次 |
| 最近记录: |