在我的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
嵌塞用於通過路由訪問他們像這樣:
/about
/team
/cameron
:
match '/:slug' => 'pages#show', :via => :get, :as => :page
這樣我就可以在訪問這些頁面我想要做的是使用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('/ ') else self.permalink = name_as_permalink if permalink.blank? 結束 結束# – Cameron
感謝卡梅倫它也可以工作很好 –