在我的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
感谢卡梅伦它也可以工作很好 –