2012-11-02 86 views
3

如何從數據庫加載路由? 我有表與列:網址。還有就是URL的一部分,在此列,例如:從Rails數據庫中獲取路由

  • progs的/我們
  • progs的/我們/資訊

如何爲此設置路線?結果例子:

http://mysite.com/progs/us for the page http://mysite/posts/2 
+0

我真的不清楚你想要完成什麼。路由在'config/routes.rb'文件中定義。你是否試圖將部分url與數據庫中的列匹配? – claptimes

+0

是的,你是對的。 – dublicator

+1

我還不確定。你是否想要做一些像FriendlyID一樣的東西?看看這個[Railscast](http://railscasts.com/episodes/314-pretty-urls-with-friendlyid) – claptimes

回答

3

您可以通過這條路線攔截任何網址:

# routes.rb 
    get '*url' => 'posts#show', format: false 

注:這條路線應聲明最後在你的配置

和控制器看起來像以下:

# posts_controller.rb 
    class PostsController < ApplicationController 
     def show 
     @post = Post.find_by_url!(params[:url]) 
     # by default "show" view is rendered with "post" variable 
     end 
    end