Is there any way to define custom routes in Phoenix?

后端 未结 4 1243
夕颜
夕颜 2021-02-05 08:59

Let\'s say I want to create a resources with adding a couple of custom actions to it, the analogue in rails is:

resources :tasks do
  member do
             


        
4条回答
  •  Happy的楠姐
    2021-02-05 09:11

    Here is another solution:

    scope "/tasks" do
      get "/:id/implement", TasksController, :implement
      get "/done", TasksController, :done
    end
    resources "/tasks", TasksController
    

    The implement action has a member route and the done action has a collection route.

    You can get the path for the former with this function call:

    tasks_path(@conn, :implement, task)
    

    Note that you should place the resources line after the scope block. Otherwise, the Phoenix recognizes /tasks/done as the path for show action.

提交回复
热议问题