创建自定义发布方法

时间:2012-03-08 23:09:20

标签: ruby-on-rails-3 post routes custom-action

我正在尝试创建一个自定义的帖子方法,但我很难找到如何开始。

我想要做的是能够读取CSV文件,foreach条目,在数据库中插入新行。

在索引文件中,我希望能够点击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 个答案:

答案 0 :(得分:1)

您可以尝试:

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

如果您想要member代替collection

,此blog post也可以为您提供帮助