rails 3 autocomplete требует "id" => "autocomplete_car_vin" - PullRequest
0 голосов
/ 09 октября 2011

У меня есть таблицы машин с полем под названием: vin (Идентификационный номер транспортного средства), я хочу, чтобы это поле автоматически заполнялось при записи чего-то ... ну, вы все понимаете, о чем я.

Я просто перейду к делу ... Я следовал учебнику об этом здесь https://github.com/crowdint/rails3-jquery-autocomplete-app, и он прекрасно работает в новом приложении.Поэтому я решил поместить это в свое приложение, над которым я работаю, я настроил все так, как должно быть, но когда я набираю буквы в поле, я ничего не получаю взамен, на дисплее не отображаются ошибки, но в консоли у меня это:

 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'

Параметры получают буквы, которые я набираю в этом случае lh (это первые 2 буквы из номера VIN в моих записях), и для каждой буквы, которую я пишу, я получаю это

"id"=>"autocomplete_vin" and  Couldn't find Car with ID=autocomplete_car_vin

вот несколько строк из Car.rb

class Car < ActiveRecord::Base
  has_one :carname
  has_one :carmodel

кусок cars_controler

autocomplete :car, :vin

    def index
        @search = Car.search(params[:search])
        @cars = @search.all.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

в view У меня есть

<%= form_tag do %>
  <%= autocomplete_field_tag 'vin', '',cars_autocomplete_car_vin_path %>
<% end %>

в rout.rb : get 'cars/autocomplete_car_vin' Я выполнил рейк-маршруты и ожидал автозаполнения рабочей формы.Пожалуйста, помогите, чтобы это работало.Спасибо.

Может помочь - вот что консоль показывает в учебном приложении, где автозаполнение работает отлично

Записывание первых букв me приводит меня к Mercedes в результате автозаполнения в результате

Started GET "/welcome/autocomplete_brand_name?term=me" for 127.0.0.1 at Sun Oct 09 04:04:57 +0300 2011
  Processing by WelcomeController#autocomplete_brand_name as JSON
  Parameters: {"term"=>"me"}
  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)

, как вы видите, здесь не требуется "id" => "autocomplete_brand_name".Почему тогда моя консоль приложения требует ..., "id"=>"autocomplete_car_vin"}, в чем здесь проблема, если кто-то из вас может мне помочь, пожалуйста. Мне действительно нужно сделать это, чтобы я мог двигаться дальше.Любая помощь и любая идея, я буду признателен.Заранее спасибо.

1 Ответ

4 голосов
/ 09 октября 2011

В ваших маршрутах поместите строки автозаполнения ДО линии resources :cars.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...