gaaamiiのブログ

悪気なく間違ったことを書いている時があります。コメントやTwitter、ブコメなどでご指摘ください

Railsのモデルのアソシエーションとルーティングがよくわからない

わからないところは解決しててもしてなくてもとりあえず書き出しておく。

実例出した方がはやいのでDenkinovelをサンプルにさせてもらいます。つまりはこんな感じのURI設計にしたい。
http://denkinovel.com/stories/474/pages/1

stories/474/pages/1というのは、こんな構造になっている。

stories
  /1
    /pages
      /1
      /2
      /3
...

  /2
    /pages
      /1
      /2
      /3
...

ところが、自分でこれをやろうとしたらこうなってしまう。

stories
  /1
    /pages
      /1
      /4
      /8
...

  /2
    /pages
      /2
      /3
      /5
      /6
      /7
...

コントローラでPage.newをすると自動的に1の次は2,2の次は3という具合にidが付けられる。そもそもDBのPageテーブルにidが同じものが2つあって良いわけがないし、こうなるのは当然だとは思う。

でも、先に挙げたDenkinovelのURI設計が特殊かっていうとぜんぜんそんなことはないし、普通にほとんどのサービスで使われているような基本的なルーティングだと思う。

何かすごい簡単に解決しそうなんだけど、どうすればいいのかわからない...。