active_admin автозаполнение с помощью rails3-jquery-autocomplete gem - PullRequest
6 голосов
/ 29 октября 2011

У меня проблема с использованием гема rails3-jquery-autocomplete с active_admin

Я использую самую последнюю версию active_admin (из git), которая теперь зависит от formtastic2 и я использую 1.04 из rails3-jquery-autocomplete

undefined local variable or method `autocomplete_artist_name_records_path' for #<ActiveAdmin::DSL:0x007fde797140d0>

Мне не нравится маршрут URL, который я предоставляю, какие-либо идеи, что я могу сделать неправильно?

gems

gem 'activeadmin', :git => 'git://github.com/gregbell/active_admin.git'
gem 'rails3-jquery-autocomplete', '~> 1.0.4'

records.rb (active_admin)

ActiveAdmin.register Record do
  #...
  controller do
    autocomplete :artist, :name#, :full => true
  end

  form do |f|
    f.input :artist_name, :as => :autocomplete, :url => autocomplete_artist_name_records_path
  end
end

rout.rb

  resources :records do
    get :autocomplete_artist_name, :on => :collection
  end

Я также пробовал это исправление, которое ягде-то нашел, но ничего не изменилось, включая ошибку

https://gist.github.com/1137340

Ответы [ 2 ]

3 голосов
/ 24 декабря 2011
  • Добавлено admin пространство имен в routes.rb

    # Put this line above ActiveAdmin.routes.  Otherwise, you may get this error
    # ActiveRecord::RecordNotFound (Couldn't find Record with id=autocomplete_artist_name):
    namespace :admin do
      resources :records do
        get :autocomplete_artist_name, :on => :collection
      end
    end
    
    ActiveAdmin.routes(self)
    
  • Добавлены эти строки в app/assets/javascript/active_admin.js

    //= require jquery
    //= require jquery_ujs
    //= require jquery-ui
    //= require autocomplete-rails
    
  • В app/admin/records.rb мой обходной путь использует URL-адрес в строке вместо метода пути

    form do |f|
      f.input :artist_name, :as => :autocomplete, :url => '/admin/records/autocomplete_artist_name'
      f.buttons
    end
    
  • Установлен jquery css, чтобы окно предложений автозаполнения выглядело красиво. Смотрите этот пост . Затем отредактируйте app/assets/stylesheets/active_admin.css.scss, чтобы включить jquery-ui css

1 голос
/ 02 ноября 2011

Блок формы выполняется в области ActiveAdmins DSL.

Попробуйте отрисовать форму частично для доступа к помощникам URL.

ActiveAdmin.register Post do
   form :partial => "form"
end

http://activeadmin.info/docs/5-forms.html

...