В моем приложении [например] три контроллера: 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
Но это будет связано с дублированием кода ... так что, я упускаю что-то действительно простое?
Спасибо