ActiveAdmin и редактирование на месте - PullRequest
7 голосов
/ 07 октября 2011

У меня есть эта система, где я использую ActiveAdmin для автоматизации бэкэнда, и мне было интересно, пытался ли кто-нибудь использовать редактирование на месте с таблицами для ActiveAdmin.

Я вижу некоторые сценарии, в которых это было бы полезно: таблицы значений ключей (например, State, Category и т. Д.) И в представлениях master-detail (Order и OrderItems) ...

Имеюткто-нибудь пытался это реализовать?Есть хорошие указатели?

Ответы [ 2 ]

9 голосов
/ 10 ноября 2011

Мы использовали редактор best_in_place, но только для настроенных видов, а не для общих.

https://github.com/bernat/best_in_place

gem "best_in_place"
bundle
rails g best_in_place:setup

Добавьте скрипт best_in_place к /app/assets/javascripts/active_admin.js:

//= require best_in_place

$(document).ready(function() {
  /* Activating Best In Place */  
  jQuery(".best_in_place").best_in_place() });

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

.panel
  %h3 Your Resource Table
  .panel_contents
    .attributes_table
      %table
        %tbody
          %tr
            %th Name
            %td= best_in_place resource, :name, :type => :input, :path => [:admin, resource]
            ...
            ...

Поскольку ActiveAdmin уже настроил ваши действия RESTful, а BestInPlace также использует RESTful PUT для обновления, все должно работать автоматически:)

Вы также можете использовать что-то подобное, но я еще не проверял это.

index do
  column(:name) { |i| best_in_place i, :name, :type => :input, :path => [:admin, i] } 
end
5 голосов
/ 12 июля 2012

На самом деле патч обезьяны Best In Place для представлений Active Admin очень прост:

# app/admin/active_admin/views.rb
module ActiveAdmin::ViewHelpers
  extend BestInPlace::BestInPlaceHelpers
end
...