0

Rails 3.2 を使用しており、スコープ指定されたネストされたリソースを作成しようとしています (これが正しい用語かどうかはわかりません)。私はいくつかのグループを持っており、次のように各グループに独自のページ セットを持たせたいと考えています。

/groups/1/pages/1
/groups/1/pages/2
/groups/1/pages/3
/groups/2/pages/1
/groups/2/pages/2
/groups/3/pages/1
/groups/3/pages/2
/groups/4/pages/1
etc.

groups最初にコントローラーとコントローラーを作成し、pagesそれらを次のようにネストしました

resources :groups do
  resources :pages
end

:group_id私が抱えていた問題は、URLの を変更することで、グループ 2、3、および 4 からグループ 1 のページを表示できたことです。また、ページ ID は、1 つのグループだけでなく、すべてのグループで一意でした。

次に、ネストされたコントローラーを作成しようとしましたrails g controller groups/pages index show new create edit update destroyが、これを機能させることもできませんでした。Rails の用語を十分に理解していないため、Google で何を検索するかを理解できません。

4

1 に答える 1

2

あなたが達成しようとしていると思うのは、関連付けです。また、コントローラーを生成する代わりに、おそらくスキャフォールド (モデル、コントローラー、デフォルト ビューを含む) を生成する必要があります。少なくとも、グループ モデルとページ モデルが必要です。

has_many :pages次に、グループ モデルを追加します。belongs_to :groupページモデルを追加します。group_id次に、ページ モデル/データベースに列を追加する必要があります。

ただし、私が間違っていて、グループのページ付けだけを行おうとしている場合は、will_paginate gem を使用してください。

また、 Mike Hartl のチュートリアルを参照することをお勧めします。優れたバックグラウンドを提供し、Rails の用語と基本的なテクニックを学ぶことができます。

于 2012-10-31T04:53:09.473 に答える