我在rails 3路由中有一点问题
我有一个控制器页面,显示我的页面
example.com/some_page_title
但现在我需要在当前页面中放置一个子页面
example.com/some_page_title/some_subpage_title
我的路线现在看起来像这样:
match ':title' => 'page#show'
但要显示子页面怎么办?我认为这是子页面由fild parent_id是真的,这必须是一个子页面,但它是假的这是主页面。我是否必须将我的子页面放到其他控制器上,甚至放在其他数据库表中?
如果想将我的子页面更改为普通页面该怎么办,现在我只删除parent_id并完成。
答案 0 :(得分:1)
你可以尝试:
match :parent_title/:title => "pages#show"
假设:
class Page
has_many :subpages, :class_name => "Page"
end
控制器中的
def show
if params[:parent_title].present?
parent = Page.find_by_title params[:parent_title]
@page = parent.subpages.find_by_title params[:title] if parent.present?
end
end