Создание пользовательского метода публикации - PullRequest
2 голосов
/ 09 марта 2012

Я пытаюсь создать собственный метод публикации, но у меня возникают проблемы с поиском, как начать.

То, что я хочу сделать, - это иметь возможность читать файл CSV, каждую запись, вставлять новую строку в базу данных.

В индексном файле я хочу иметь возможность нажать 1 ссылку или кнопку, чтобы запустить собственный метод.

Этот метод откроет мой CSV-файл (проследить каждую строку и вставить в базу данных)

Так что по сути на моем index.html.erb я бы хотел увидеть что-то вроде:

<%= link_to "Load CSV to Database", :controller => MyController, :action => MyCustomAction %>

Я считаю, что мне нужно отредактировать мой route.rb, и я застрял здесь. Как мне сделать так, чтобы мои маршруты знали, что MyCustomAction - это сообщение.

Мой рейк-маршрут:

use_database_csv_files POST   /csv_files/use_database(.:format) csv_files#use_database
         csv_files GET    /csv_files(.:format)              csv_files#index
                   POST   /csv_files(.:format)              csv_files#create
      new_csv_file GET    /csv_files/new(.:format)          csv_files#new
     edit_csv_file GET    /csv_files/:id/edit(.:format)     csv_files#edit
          csv_file GET    /csv_files/:id(.:format)          csv_files#show
                   PUT    /csv_files/:id(.:format)          csv_files#update
                   DELETE /csv_files/:id(.:format)          csv_files#destroy

Спасибо

1 Ответ

1 голос
/ 09 марта 2012

Вы можете попробовать:

resources :MyController do
  collection do
    post 'MyCustomAction'
  end
end

Это сообщение в блоге может также помочь вам, если вы хотите сделать member вместо collection

...