2
我有一個單一的模式:軌道 - 如何使嵌套的路線與祖先
class Page < ActiveRecord::Base
has_ancestry
validates :slug, :name, uniqueness: true, presence: true
before_validation :generate_slug
def to_param
slug
end
def generate_slug
self.slug = Russian.translit(name).parameterize
end
end
和我使用ancestry
寶石創建的頁面和子頁面樹,即頁面可以有多個子頁面和子頁面也可以有多個子頁面,以此類推至無窮大。
但我的問題是,我不能做的東西是/page-1/page-1-2/page-1-2-1
。所有子頁面的URL是:/page-1-2
或/page-1-3-1
。
我的routes.rb:
Rails.application.routes.draw do
get '/pages' => 'pages#index'
resources :pages, path: "", path_names: { new: 'add' }
root 'pages#index'
end
如何使嵌套的網址是什麼?
謝謝!
它的作品,THX!但是當我想編輯一些子頁面時,我發現錯誤「ActiveRecord :: RecordNotFound'和'Parameters:{」slug「=>」page-1/page-1-1/page-1-1-1/page-1 1-1-1 /編輯「}'。我如何解決這個問題? – jazzis18 2014-11-04 12:01:21
你需要使用'Page.find_by_slug(params ['slug'])'。另外,如果有幫助,請不要忘記[接受答案](https://stackoverflow.com/tour)。 – Surya 2014-11-04 12:04:15
對不起)是的,我用它'find_by_slug',但我都一樣抓住這個錯誤。 – jazzis18 2014-11-04 12:38:14