11
A
回答
14
實質上,路由資源是指資源爲控制器提供動作能力的時候。
http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use
如果是複數形式的資源作爲一種方法來處理上任何項目的通用要求,然後一個單一的資源在手在當前項目工作的方式。換句話說,如果我有蘋果的集合,爲了檢索特定的蘋果,我必須通過發送蘋果的ID來告訴路由器「蘋果」檢索哪個蘋果。如果我已經有一個Apple,那麼不需要ID。
通知通過看他們有什麼動作(或航線)兩者之間的區別:
- 資源:指數,新,創建,顯示,編輯,更新,破壞
- 資源:新,創建,顯示,編輯,更新,破壞
在您的例子:
- 控制器「geocoder」是一個單一的資源,您可以用來編輯,創建,更新等。
- 控制器「帖子」,是一個複合資源,將處理傳入的通用帖子,您可以索引,編輯,創建..等
8
http://guides.rubyonrails.org/routing.html#singular-resources
有時候,你有資源的客戶端總是仰望沒有 引用的ID。例如,您希望/ profile始終顯示當前登錄用戶的配置文件 。在這種情況下,您可以使用單個資源 來映射/配置文件(而不是/ profile /:id)到 顯示操作。
查看它的一個好方法是資源沒有索引操作,因爲它假設只是一個。
3
我認爲只是索引視圖。
也有報道與資源助手和形式助手的路由問題。我個人使用的語法如下:
resources :someresource, except: :index
爲了避免reported bugs。
4
奇異的資源:
有時候,你有資源的客戶端總是仰望沒有引用一個ID。例如,您希望/profile
始終顯示當前登錄用戶的配置文件。
或者,通常你當前登錄的用戶屬於一個組織,所以要轉到他/她的組織檔案頁面可以有兩個途徑
#1
/organizations/:id
#2
/organization #simply
這裏,後來實現更有意義;是不是?你從協會組織對象
# in organizations#show
@organization = current_user.organization
定義這種奇異的資源使用resource
方法:例
# in routes.rb
resource :organization
創建應用程序中的六個不同的路線,都映射到組織控制器:
然而,您使用定義了多個資源3210方法
resources :organizations
相關問題
- 1. 軌道嵌套的資源和路由初始化資源
- 2. 資源路線和軌道
- 3. 項目資源和本地資源映像之間的區別
- 4. 多個資源路由在軌道
- 5. 軌路由嵌套資源
- 6. 軌道中的淺層路由嵌套的資源3
- 7. 資源 - 路由與嵌套GET中斷資源路由?
- 8. 路由和嵌套資源
- 9. 非資源路由和POST
- 10. 缺省段名在軌資源路由
- 11. 軌路由嵌套資源重複
- 12. 我想添加另一個動作路由到軌道中的資源路由
- 13. Rails 3的路由:資源和路徑
- 14. 嵌套資源與軌道
- 15. Rails的路由資源
- 16. 路由資源的問題
- 17. REST的資源路由
- 18. 資源路由的mixup
- 19. 資源,客戶端和會話之間的區別..?
- 20. 兩個資源之間的路徑
- 21. 軌道4嵌套資源路由錯誤
- 22. 路由:結合資源和嵌套資源
- 23. Rails 3的路由:資源行動和嵌套的資源用:路徑=>「/」
- 24. 嵌套資源路由已經觸發父資源路線
- 25. ASP.net MVC路由資源
- 26. Rails路由到資源集?
- 27. Laravel路由與資源
- 28. 嵌套資源路由
- 29. Laravel路由資源錯誤
- 30. Rails ActiveAdmin路由新資源
我的困惑:什麼是創造奇異的資源點;可以說我們已經定義了'resource:geocoder';這是否意味着我們將在一個名爲'geocoders'的整個'表格中有一個geocoder記錄? – illusionist 2015-10-21 10:07:47
在文章的鏈接(自從發佈這篇文章以來已更新),他們實際上給了一個很好的例子。稱爲/ profile(而不是/ profile:id)的單一資源對於始終顯示當前登錄的用戶的配置文件將非常有用。因此,單個地理編碼器可以屬於當前用戶的位置,其中多個地理編碼器可以屬於附近地點的集合。如果您想將自己的地理編碼包含到該集合中,則取決於您。 – sksallaj 2015-10-21 17:09:55