查看guide。具體來說,收集路線。你會做這樣的事情:
Rails.application.routes.draw do
resources :requests do
collection do
get "sync"
end
end
end
,這將給你requests/sync
要拿起了sync_controller
問題...
個人,不知道你實際上在做什麼太多,我會保留sync
作爲requests_controller
的行動。喜歡的東西:
class RequestsController < ApplicationController
...
def sync
...
end
...
end
雖然sync
是不標準的REST風格的動作之一,它似乎不是創建一個新的控制器更自然的我。總的來說,但並非總是如此,我認爲控制器是名詞導向的(例如,'請求',就你而言),動作是動詞導向的。 「同步」對我來說似乎比名詞-y更加動詞。
你可能按照Cyzanfar的建議做了一些事情。但是,我建議你問問自己:
- 你是否需要所有標準動作
sync_controller
?
- 是否有從
Requests::RequestsController
繼承的一些有意義的理由?
- 你甚至需要
Requests::RequestsControler
或者你可以只是做RequestsController
,然後有從RequestsController
Requests::SyncController
繼承(這似乎不太折磨我)?
- 可能還有其他重要的問題,我並不是在意的。
謝謝你,這個工作。最後一個擴展:我怎樣才能爲'sync'創建一個控制器?它被放置在'requests'的同一個控制器中嗎?還是它是一個單獨的控制器? – Dinuka
我認爲你可能正在尋找的是一個命名空間。你會有一個父請求控制器和一個子同步控制器。你想讓我告訴你如何做到這一點? – Cyzanfar
是的,請:) :) @Cyzanfar你能更新答案嗎? – Dinuka