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 在所有组中都是唯一的,而不仅限于单个组。

接下来我尝试通过做一个嵌套控制器,rails g controller groups/pages index show new create edit update destroy但我也无法让它工作。我不知道足够的 Rails 术语来弄清楚谷歌的内容。

4

1 回答 1

2

我认为您要完成的是关联。而不是生成控制器,您可能应该生成脚手架(包括模型、控制器和默认视图)。至少,您将需要组和页面模型。

然后添加has_many :pages您的组模型。并添加belongs_to :group您的页面模型。然后,您需要在group_id页面模型/数据库中添加一列。

但是,如果我错了并且您要做的只是对组进行分页,那么请使用will_paginate gem。

我还建议您阅读Mike Hartl 的教程。它会给你一个很好的背景,你将学习 Rails 术语和基本技术。

于 2012-10-31T04:53:09.473 回答