Phoenix模式匹配控制器

时间:2017-08-01 20:28:29

标签: elixir phoenix-framework

我希望在我的控制器中有2个索引函数,一个是带有id的调用,另一个是带有搜索查询字符串的id。由于某种原因,永远不会调用第二个函数。

import { Router } from '@angular/router';  

constructor(private myService: MyService, private router: Router) {}

plotOptions: {
                      bar: {
                          dataLabels: {
                              enabled: false
                          }
                      },
                      series: {
                          pointWidth: 15,
                          cursor: 'pointer',
                          point: {
                              events: {
                                  click: function(){
                                    this.router.navigate(['/nestedFolder/newPage.component.html']);
                                  }
                              }
                          }
                      }
                  }

1 个答案:

答案 0 :(得分:3)

因为匹配从顶部开始。如果id匹配,则永远不会检查搜索。 你应该把更常见的情况放到底部,更特别的是顶部。

def index(conn, %{"id" => id}, "search" => search }) do
end

def index(conn, %{"id" => id}) do
end

也许您应该将GET参数包装到地图中,我不确定。我想这是一个语法错误:

search }) do