pathメソッドがなんかおかしい

2ヶ月くらい前に作りかけだった掲示板作成の続きをやっています。
今のスレッド詳細のURLは、

http://localhost/categories/1/posts/1

となっている。
今思えばこのURLって冗長だなと思って、

http://localhost/posts/1

のように書き換えようとしていた。

link_to "Post詳細URL", post_path(1)

と書くと通常なら

/posts/1

と返ってくるはずなのですが、

返ってこない!

[1] pry(#<#<Class:0x007fd165f671b8>>)> link_to "Post", post_path(1)
NoMethodError: undefined method `category' for 1:Fixnum
[2] pry(#<#<Class:0x007fd165f671b8>>)> link_to "Post", Post.find(1)
=> "<a href=\"/categories/1/posts/1\">Post</
[3] pry(#<#<Class:0x007fd165f671b8>>)> link_to "Post", post_path(Post.find(1))
=> "<a href=\"/categories/1/posts/1\">Post</a>"
[4] pry(#<#<Class:0x007fd165f671b8>>)> link_to "Post", category_post_path(Post.find(1))
ActionController::RoutingError: No route matches {:action=>"show", :controller=>"posts", :category_id=>#<Post id: 1, name: "匿名希望", title: "雑談投稿", body: "こここここ", created_at: "2012-08-25 05:51:05", updated_at: "2012-08-25 05:51:05", type: nil, category_id: 1, last_updated_at: "2012-08-25 05:51:05", user_id: nil, password_digest: nil>}
from /Users/koji/.rvm/gems/ruby-1.9.3-p194@rails3.2/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:532:in `raise_routing_error'

link_toの第二引数は、ARインスタンスがくることを期待しているのだった。。
恐らく
post_path
を呼ぶと
category_post_path

呼ばれてる。

内部をいじった覚えはないし、書いてるのは普通ルーティングだと思うのだけど。

ヽ| ・∀・|ノ $ rake routes
                      root        /                                                                   welcomes#index
                admin_root        /admin(.:format)                                                    admin/tops#index
                     posts GET    /posts(.:format)                                                    posts#index
                           POST   /posts(.:format)                                                    posts#create
                  new_post GET    /posts/new(.:format)                                                posts#new
                 edit_post GET    /posts/:id/edit(.:format)                                           posts#edit
                      post GET    /posts/:id(.:format)                                                posts#show
                           PUT    /posts/:id(.:format)                                                posts#update
                           DELETE /posts/:id(.:format)                                                posts#destroy
            category_posts GET    /categories/:category_id/posts(.:format)                            posts#index
                           POST   /categories/:category_id/posts(.:format)                            posts#create
         new_category_post GET    /categories/:category_id/posts/new(.:format)                        posts#new
        edit_category_post GET    /categories/:category_id/posts/:id/edit(.:format)                   posts#edit
             category_post GET    /categories/:category_id/posts/:id(.:format)                        posts#show
                           PUT    /categories/:category_id/posts/:id(.:format)                        posts#update
                           DELETE /categories/:category_id/posts/:id(.:format)                        posts#destroy

ちゃんと定義されている。

category_post GET    /categories/:category_id/posts/:id(.:format)                        posts#show
post GET    /posts/:id(.:format)                                                posts#show
  resources :posts

  resources :categories do
    resources :posts do
      resources :comments
    end 
  end 

うーん。。。

<追記>
controllerでは正しく呼べているのでviewで変な書き方してる疑惑
<追記2>
post_pathと同名のHelperメソッドを定義していました!!!