繁体   English   中英

如何找到导致ActionController :: RoutingError的原因,没有路由匹配错误?

[英]How can I find what is causing the ActionController::RoutingError No route matches error?

我收到此错误。

ActionController::RoutingError (No route matches [GET] "/pins/undefined"): 

我已经搜索了可能导致此问题的代码,但是看不到任何试图将用户定向到特定URL myurl.com/pins/somethingdefined的内容。 链接到图像会导致这种情况吗?

我发现此代码是唯一引用关于/pins/

 function constructMarker(icon){
  if(icon !== 'undefined'){
    return new goog.MarkerImage("/pins/" + icon,
    new goog.Size(22, 38),
    new goog.Point(0, 0),
    new goog.Point(11, 18)
    );
  } else {
    return new goog.MarkerImage("/pins/curve.png",
    new goog.Size(22, 38),
    new goog.Point(0, 0),
    new goog.Point(11, 18)
    );
  }
}

和这个

DOT = new goog.MarkerImage("/pins/GreenDot.png",
    new goog.Size(20, 20),
    new goog.Point(0, 0),
    new goog.Point(10, 10));

    for(var i=0; i<things.length; i++){
        t = new goog.MarkerImage("/pins/" + things[i].icon,
      new goog.Size(24, 50),
      new goog.Point(0, 0),
      new goog.Point(12, 25)
    );

问题出在您的JavaScript中:

if(icon !== 'undefined'){

该测试正在寻找字符串 'undefined' ,而不是值undefined 也许您的意思是检查typeof icon !== 'undefined' 您可能可以通过更简单的if(icon)检查来解决问题,因为您不太可能关心与undefined不同的零, false ,空字符串和其他falsey值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM