代码之家  ›  专栏  ›  技术社区  ›  jefflunt

我的路由似乎设置正确,但正在生成不兼容的URL

  •  0
  • jefflunt  · 技术社区  · 15 年前

    我的“link\u to”和“url\u for”等方法正在以“:controller/:id/:action”的模式生成路径,而不是“:controller/:action:/:id”-换句话说,url中的“action”和“id”字段正在交换。

    通过进行一些路由调试,我已经将范围缩小到这些生成的链接,但是,我不太明白routes.rb文件如何说明一件事,但是生成的路由可以是不同的顺序。除了路由文件之外,还有什么其他的东西吗?

    这是我的routes.rb文件,删除了注释。

    map.resources :tags
    map.resources :ratings
    map.resources :users
    map.resources :bids
    map.resources :listings
    map.resource :user_session
    map.root :controller => "user_sessions", :action => "new"
    map.resource :account, :controller => "users"
    map.connect ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'
    

    1 回复  |  直到 15 年前
        1
  •  0
  •   jefflunt    15 年前

    URL对我来说似乎仍然是错误的,点击“显示”、“编辑”或“销毁”链接会将我带到一个错误页面,在那里我会因为时髦的路线而得到一个零引用错误。

    在对我以前的一次迁移做了一个小的更改之后,我刚刚做了一个“rake db:migrate:redo STEP=3”,重新启动了web服务器,现在应用程序导航没有错误。

    但我仍然不明白的是,生成的链接仍然是“:controller/:id/:action”,但它突然正确解码了。

    非常困惑。