【发布时间】:2017-02-23 18:20:42
【问题描述】:
我有这条路线:
resources "/my_items", ItemController, only: [:index, :show]
get "/pages/:page_number", ItemController, :page, param: "page_number"
我在ItemController 中对pages 进行了操作,这是一个简化版本:
def index(conn, p) do
# .....
def page(conn, %{"page_number" => page_num) when is_nil(page_num) do
index(conn, %{"page_number" => 1})
end
def page(conn, %{"page_number" => page_num) do
index(conn, %{"page_number" => page_num})
end
当我转到“/pages/123”时,它工作正常。但是,这个:
items_path(conn, :page, page_number: 456)
抛出异常:
protocol Phoenix.Param not implemented for [page_number: 456]
【问题讨论】: