【问题标题】:Routing error even if routes exists即使存在路由,路由错误
【发布时间】:2013-03-03 15:50:03
【问题描述】:

这真的很奇怪。我在每个页面上都存在的 link_to 上遇到路由错误

这是我的路线

resources :users do
    member do
      get :creations_tab, :path => '/creations'
    end

翻译成

creations_tab_user_path  GET     /users/:id/creations(.:format)  users#creations_tab

这是错误发生的地方

 <li><%= link_to content_tag(:i," ", :class=>"icon-bullhorn")+ " " +"Creations", creations_tab_user_path %></li>

奇怪的是这个link_to是一个存在于每个页面上的导航栏中的链接。有些页面可以工作,有些页面不可以......

这是错误

ActionController::RoutingError - No route matches {:action=>"creations_tab", :controller=>"users"}:
  (gem) actionpack-3.2.12/lib/action_controller/metal/exceptions.rb:11:in `initialize'
  (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:533:in `raise_routing_error'
  (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:529:in `rescue in generate'
  (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:521:in `generate'
  (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:562:in `generate'
  (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:587:in `url_for'
  (gem) actionpack-3.2.12/lib/action_dispatch/routing/url_for.rb:148:in `url_for'
  (gem) actionpack-3.2.12/lib/action_view/helpers/url_helper.rb:107:in `url_for'
  (gem) actionpack-3.2.12/lib/action_dispatch/routing/route_set.rb:213:in `creations_tab_user_path'
  app/views/layouts/_header.html.erb:43:in `_app_views_layouts__header_html_erb__541622111_70332144'

【问题讨论】:

    标签: ruby-on-rails routing link-to


    【解决方案1】:

    由于您的路线是成员路线,因此需要为其提供用户 ID。因此,像您所做的那样调用不带参数的助手是没有意义的。

    我怀疑在某些情况下某种 RoR-magic 正在为帮助者提供参数 - 但实际上它不应该起作用。

    所以给那个助手一个用户或用户 ID。

    【讨论】:

      猜你喜欢
      • 2021-02-21
      • 2015-06-29
      • 2016-06-21
      • 2017-05-02
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 2019-04-20
      • 2020-06-28
      相关资源
      最近更新 更多