Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang Elixir,Phoenix:在路由步骤上注入参数_Erlang_Elixir_Phoenix Framework - Fatal编程技术网

Erlang Elixir,Phoenix:在路由步骤上注入参数

Erlang Elixir,Phoenix:在路由步骤上注入参数,erlang,elixir,phoenix-framework,Erlang,Elixir,Phoenix Framework,假设我们有一些类似的路线 get "/user-:user/", MyController, :same_action get "/user-:user/email-:email/", MyController, :same_action get "/user-:user/page-:page/", MyController, :same_action 首先,我认为这会很容易,我只需要在路由字符串中添加一些东西 get "/user-:user/page-:page/", MyContr

假设我们有一些类似的路线

get "/user-:user/", MyController, :same_action 
get "/user-:user/email-:email/", MyController, :same_action  
get "/user-:user/page-:page/", MyController, :same_action
首先,我认为这会很容易,我只需要在路由字符串中添加一些东西

get "/user-:user/page-:page/", MyController, :same_action, :some_custom_value
但现在我卡住了 我只想用一个动作来处理它们,但我需要想办法。。。(可能在控制器中)。。。哪条路线是匹配的,请执行以下操作:

def same_method(conn, params_parsed_from_url) do
  make_search_by(params_parsed_from_url, some_custom_value)
end

提前感谢。

如果您需要为每个参数执行不同的操作,是否最好将它们指向不同的操作?事实上,我也想执行相同的操作,但需要一个额外的参数。您应该能够在参数上进行模式匹配,以防需要单独处理。你试过了吗?当然,我有一些解决方案,包括你提到的那个,以防我找不到更优雅的方法)如果你需要为每个人做不同的事情,是不是最好让他们做不同的动作?实际上我也想做同样的事,但有一个额外的参数。你应该能够在参数上进行模式匹配,以防您需要单独处理。你试过了吗?当然,我有一些解决方案,包括你提到的那个,以防我找不到更好的解决方案