2013-03-21 4 views
3

Я пытаюсь создать 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... без генерации формы?

ответ

0

Вам нужно добавить метод:: post для ссылки на вызов, так как нет никакого действия для этого URL-адреса.

Смежные вопросы