Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Способы реализации меню для сайта/структура сайта


Автор: G61 3.11.2007, 11:53
Сам я делал приложение, там не нужна была большая вложенность и у меня были "категории" и "статьи", т. е. вложенность =1.
В прилаге это было так: в моделях было указанно следующее
Код

class Article < ActiveRecord::Base
   belongs_to :category
end

Код

class Category < ActiveRecord::Base
   has_many :articles
end

и Article имел свойство category_id.

Вот собственно и вопрос, как Вы реализуете меню (структуру) сайта.
Интересует идея того как можно сделать "Article" более универсальным, т. е. отказаться от "category" и сделать вложенность бесконечной (щелкаем по "article", показывается ее текст и выводится список sub"articles", входящих в состав родителя, и т. д.)
Мне кажется многие уже сталкивались с этим вопросом, так что не стесняйтесь, пишите.

Автор: OmeZ 4.11.2007, 08:28
тот же вопрос. Как ГРАМОТНО реализовать навигацию в Rails, да и всех MVC системах. Было несколько идей, таких как отслеживать пару controller->action и искать их в уже созданой структуре меню... но это как то все неправильно мне кажется

Автор: G61 3.3.2008, 22:16
Давно уже сам ответ нашел. Но если кто то ищет или не знает, то смотрите на 
Код
acts_as_tree

и сможете сделать бесконечную вложенность.

Автор: Alone 11.3.2008, 10:57
Еще: acts_as_nested_set

Автор: OmeZ 20.3.2008, 21:28
Как технически реализовать - это отдельный вопрос. Смысл в том как твоя модель меню будет определять где ты назодишься в текущий момент. Например что бы подсветку текущего меню сделать, ну или открыть нужный уровень подменю

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)