2012-03-08 4 views
2

사용자 지정 게시 메서드를 만들려고하는데 시작하는 방법을 찾는 데 어려움이 있습니다.사용자 지정 게시 메서드 만들기

내가 원하는 것은 foreach 항목 인 CSV 파일을 읽고 데이터베이스에 새 행을 삽입하는 것입니다.

색인 파일에서 사용자 정의 방법을 시작하기 위해 링크 또는 버튼 1 개를 누릅니다.

뭔가처럼보고 싶은 내 csv 파일을 엽니 다 (각 행을 통과하고 데이터베이스에 삽입) 그래서 기본적으로 내 index.html.erb에

을 것이다이 방법 : 내가 믿는

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

내 routes.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

당신이 시도 할 수 :

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

blog post 대신 collection

+0

감사의 member을 수행하려는 경우 또한 도움이 될 수 있습니다 스캇. 컬렉션을 추가했지만 링크를 클릭하면 MyCustomAction이 표시되고 ID가 표시된다고 생각합니다. 내가 link_to 생성하는 다른 방법이 있습니까? – Pharsake

+0

'_path' 경로를 시도 할 수 있습니다. '레이크 루트'는 경로를 표시합니다 (예 : MyContoller_Action' 그리고'_path' 만 추가하면됩니다. – ScottJShea

+0

여전히 똑같은 말을합니다. MyCustomAction이 ID 인 show 메소드에 액세스하려고한다고 가정합니다. 너의 도움 스캇을 고맙다. – Pharsake

관련 문제