这是我的路线
resources :programs
我的模特是计划 它有一个属性类型,可以等于“movie”或“tv_show”。
我想如果一个节目是电影,那么网址将是:
http://example.com/movie/12
,否则
http://example.com/tv_show/12
这可能吗?
我发现了这个,但我不知道如何制作动态(按对象的属性切换)
resources :programs, path: 'tv_show'
我想避免编辑每个program_url(p),我正在寻找一种聪明的方法使用routes.rb
答案 0 :(得分:3)
Rails polymorphic_path可能有帮助。
movie = Movie.find(12)
polymorphic_path([movie]) #will give http://example.com/movie/12
tv_show = TvShow.find(12)
polymorphic_path([tv_show]) #will give http://example.com/tv_show/12
您可以在rails控制台中尝试此操作
app.polymorphic_path([电影])