В моем приложении Rails у меня есть страницы, которые хранятся в базе данных.Rails вложенная маршрутизация для динамических страниц
Так, например:
id: 1
name: 'About'
slug: 'about'
parent_id: null
id: 2
name: 'Team'
slug: 'team'
parent_id: 1
id: 3
name: 'Cameron'
slug: 'cameron'
parent_id: 2
Оторочка используется для доступа к ним с помощью маршрутизации, как так:
match '/:slug' => 'pages#show', :via => :get, :as => :page
Так что я мог бы получить доступ к этим страницам по адресу:
/about
/team
/cameron
То, что я хочу сделать, это использовать parent_id
, так что маршрутизация будет:
/about/team/cameron
Может ли это быть достигнуто только с помощью маршрутизации? Или мне нужно сделать что-то еще?
Мне действительно очень нравится это для создания постоянной ссылки. Я изменил ваш код так: 'def generate_permalink name_as_permalink = slug.parameterize if parent_id.present? parent = Page.where (: id => parent_id) .first self.permalink = [parent.permalink, (permalink.blank?? Name_as_permalink: permalink.split ('/'). Last)]. Join ('/ ') еще self.permalink = name_as_permalink, если permalink.blank? end end' – Cameron
Thanks cameron Он также может отлично работать –