2011-03-03 139 views
1

我有一個控制器CourseSteps與3列course_id,step_id,位置。它創建,索引和銷燬可以正常工作的操作。寧靜的資源與非寧靜的方法? (紅寶石軌)

我需要執行一個交換兩個位置值的函數。我不認爲這適合「更新」方法,因爲我正在更改2行。我應該創建一個名爲swap_position的新方法嗎?這個模型有一個位置列是否有意義? (它基本上創建了一個許多人培訓班和步驟之間一對多的關係(課程可以有很多步驟,步驟可以涉及到很多課程)

回答

0

您可以將路由添加到一個單一的資源是這樣的:

resources :your_resources do 
    member do 
     post swap_position 
    end 
end 

您可以添加方法的集合,如下:

resources :your_resource do 
    collection do 
     post swap_position 
    end 
end 

當然,你是不是僅限於「後」;任何基於REST的動詞可以用在你的情況,你會希望做一個帖子或a get。

編輯:您可以在這裏閱讀更多關於它的信息:http://guides.rubyonrails.org/routing.html閱讀2.9節