2013-05-14 365 views
0

我試圖在我的rails應用中生成路由。 該應用程序有電影表和列流派。我想製作這樣的路線:/電影類型 - 恐怖,並顯示所有類型的恐怖電影。它實際上可能嗎?如果是的話,任何人都可以提供一個提示如何做到這一點?如果有教程可以做,我會很高興。我確實是這樣做的:/電影/流派/恐怖,它的作品。我使用gem friendly_id並使用slug來改變不友好的網址。Ruby on Rails生成路由

+0

如果您在數據庫中找到一些匹配項,則可以在控制器內部查看您可以生成的備用路徑。但爲什麼要改變默認行爲?我覺得它看起來不錯'/電影/流派/恐怖' – 23tux 2013-05-14 08:54:36

+0

你會我的精心製作?如何生成後備路線?謝謝 – ishwr 2013-05-14 09:05:44

回答

0

添加默認路由到您的routes.rb。在最後只是做一個

match ":default" => "foo#default" 

而且裏面foo_controller.rb

def default 
    # here are your params 
    parts = params[:default].split("-") 
    controller = parts[0] 
    action = parts[1] 
    genre = parts[2] 
    records = Movie.where(genre: genre) 
    if records.count > 0 
    # redirect to your controller aciton 
    else 
    raise ActionController::RoutingError.new('Not Found') 
    end 
end 

這不是測試,但我想你應該明白了吧。