簡體   English   中英

Rails:向單例資源添加路由

[英]Rails: Adding routes to singleton resource

所以,如果我有單身路線......

resource :shared

...我希望有自定義動作名稱而不是標准的CRUD名稱,我還能做...

resource :shared do
  collection do
    get 'foo'
    get 'bar'
    match 'baz'
  end
end

...或者我可以不使用“收集”塊並將這些路徑直接傳遞給單身人士嗎?

在這種情況下,我不想要任何標准的CRUD路線......

有沒有更簡單,更簡潔的方法來設置路由到我的共享資源的特定ajax相關操作? 我非常稀疏地使用這個控制器,大多數它存在,以便shared視圖文件夾可以提供像我的頁腳和我的菜單...

建議?

你可以使用match

比如說你有一個名為FooController的控制器和一個名為bar的方法你可以執行以下操作:

match "/foo/bar/" => "foo#bar", :as => "foo_bar"

這將匹配任何請求,無論是GET還是POST,與方法bar FooController

如果您只需要一個特定的http動詞,請將match替換為postget

資源代碼如下所示:

collection do
  post :create
end if parent_resource.actions.include?(:create)

new do
  get :new
end if parent_resource.actions.include?(:new)

member do
  get    :edit if parent_resource.actions.include?(:edit)
  get    :show if parent_resource.actions.include?(:show)
  put    :update if parent_resource.actions.include?(:update)
  delete :destroy if parent_resource.actions.include?(:destroy)
end

所以你基本上可以做同樣的事情,但用你自己的名字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM