【问题标题】:Autocomplete Jquery Ruby on Rails routing error自动完成 Jquery Ruby on Rails 路由错误
【发布时间】:2012-03-04 15:31:05
【问题描述】:

我的路由有问题,我还是不太明白,谢谢大家的解释。

被调用的地址 = GET /buyorders/autocomplete?term=i HTTP/1.1

我希望它在哪里查看 = 控制器 => 购买订单,操作 => 自动完成

它正在查看的位置 = app/controllers/buyorders_controller.rb:26:in `show'

我放置的路线让它看我想要的地方=
匹配 "buyorders/autocomplete?term=* " => "buyorders#autocomplete"

但它仍在关注表演动作。 我放置的路线确实存在于 rake 路线中 我已尝试重新启动服务器,但这没有帮助

我还在其他堆栈溢出问题中找到了另一种制作路由的方法,例如将其写为 route.connect "/buyorders/autocomplete?term=*", :controller => "buyorders", :action => "autocomplete" 但这会使 routes.rb 崩溃,所以我认为它可能适用于旧版本的 ROR?我正在使用 3.1

再次感谢大家提供的任何帮助

【问题讨论】:

    标签: jquery ruby-on-rails autocomplete routing


    【解决方案1】:

    这个问题的原因是因为

    resource :buyorder # 之前 匹配 "buyorder/autocomplete" => "buyorder#autocomplete"

    通过翻转两者,问题解决了,我猜资源:buyorder 以某种方式覆盖了 match 命令,

    【讨论】:

      【解决方案2】:

      如果您使用命名参数(例如 ?term=something),则无需输入通配符。你可以这样做:

      match 'buyorders/autocomplete' => 'buyorders#autocomplete', :via => :get
      

      如果你把它放进去,rake 路由的结果是什么样的?

      【讨论】:

      • 我已将其更改为匹配 "buyorders/autocomplete" => "buyorders#autocomplete", :via => :get,并且 rake 路由的输出是 buyorders_autocomplete get /buyorders/autocomplete(. :format) {:controller => "buyorders", :action => "autocomplete"},此更改目前没有解决问题
      • 有什么问题?它正在报告正确的控制器和正确的操作?
      • 对不起,当我说问题时,我指的是我原来的问题,它仍在尝试访问买方订单中的显示操作,当我希望它访问买方订单中的自动完成操作时,至于 rake 路线,它正在报告正确的控制器和操作,这就是我迷路的原因 =(
      • 我不明白你在说什么。 “试图访问节目”是什么意思。发生在哪里?您有控制台输出或错误消息吗?
      • 我的意思是它试图访问买方订单控制器中的显示操作,我知道这一点是因为我得到了输出 app/controllers/buyorders_controller.rb:26:in `show', I从 chrome 的开发人员工具中获取此信息,
      【解决方案3】:

      我也有类似的问题。我通过在我的 routes.rb 文件中添加自动完成路径来修复它

      你的例子:

      resources :buyorders do
         get 'autocomplete'
      end
      

      【讨论】:

      • 我已经解决了这个问题 AyJay,这是因为资源 :buyorders 在我的比赛之前,因此它一定已经以某种方式覆盖了它,然后你的解决方案看起来像是在买方订单中考虑了它的自动完成所以我想要也尝试一下并添加了这个资源:buyorders 确实得到“autocomplete”=>“buyorders#autocomplete”结束但是这仍然指向显示操作
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 2014-11-08
      相关资源
      最近更新 更多