Я пытаюсь создать collection_action
в ActiveAdmin, который позволяет мне импортировать CSV-файл и генерировать подписчиков из него. Я хочу, чтобы иметь возможность щелкнуть ссылку action_item
и перейти к форме, в которой я ввожу CSV-файл, а затем выполнить некоторую работу с ним.CollectionAction маршрут пропущен, действие рассматривается как ID
Это то, что я до сих пор:
ActiveAdmin.register Subscriber do
collection_action :import_csv, :method => :post do
render "import_csv"
end
action_item do
link_to "Import from CSV", import_csv_admin_subscribers_path
end
Вид также создается, просто пустой на данный момент. Я перезагрузил сервер Рельсы и rake routes
выходы:
import_csv_admin_subscribers POST /admin/subscribers/import_csv(.:format) admin/subscribers#import_csv
batch_action_admin_subscribers POST /admin/subscribers/batch_action(.:format) admin/subscribers#batch_action
admin_subscribers GET /admin/subscribers(.:format) admin/subscribers#index
POST /admin/subscribers(.:format) admin/subscribers#create
new_admin_subscriber GET /admin/subscribers/new(.:format) admin/subscribers#new
edit_admin_subscriber GET /admin/subscribers/:id/edit(.:format) admin/subscribers#edit
admin_subscriber GET /admin/subscribers/:id(.:format) admin/subscribers#show
PUT /admin/subscribers/:id(.:format) admin/subscribers#update
DELETE /admin/subscribers/:id(.:format) admin/subscribers#destroy
Однако, когда я нажимаю на элемент действия я получаю ошибку Couldn't find Subscriber with id=import_csv
Если изменить метод :get
он визуализирует вид штрафа. Я предполагаю, что проблема в том, что я использую :post
? Невозможно ли отобразить представление, если вы вызываете действие контроллера с помощью этого метода?
редактировать Хорошо, да, это не имеет смысла, чтобы сделать вид с post
, но затем why does the ActiveAdmin doc предполагают, что вы делаете действие этот путь для импорта CSV? Как вы должны # Do some CSV importing work here...
без генерации формы?