2013-05-14 364 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 

这不是测试,但我想你应该明白了吧。