【发布时间】:2011-09-11 07:14:48
【问题描述】:
在我的应用中,我有 [例如] 三个控制器:groups、forums 和 discussions。
在我的discussions_controller.rb:
def index
@group = Group.find(params[:group_id])
@forum = Forum.find(params[:forum_id])
@discussions = @forum.discussions
...
end
因此,例如,URL /groups/1/forums/1/discussions 呈现与/groups/2/forums/discussions 相同的页面。这是否意味着在我的控制器中我必须附加if @group.forums.to_a.include?(@forum) 之类的东西?这看起来很混乱而且没有轨道。我想我也可以创建一个私有方法,例如:
def has_forum
deny_access unless @group.forums.to_a.include?(@forum)
end
但这会涉及代码重复......所以我真的缺少一些非常简单的东西吗?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 model-view-controller controllers