如何在嵌套路线中使用来自Friendly_id的slug?

时间:2012-05-23 19:36:12

标签: ruby-on-rails ruby-on-rails-3 nested-routes friendly-id

编辑和创建时,我很难在嵌套路线中使用Friendly_id制作slug?路线看起来很棒。

http://0.0.0.0:3000/test/tester2

这是我在尝试编辑tester2时获得的URL:

http://0.0.0.0:3000/2/tester2/edit

我希望看到的是:

http://0.0.0.0:3000/test/tester2/edit

这是我的代码。

team.rb

class Team < ActiveRecord::Base
  extend FriendlyId
  friendly_id :name, use: :slugged
  has_many :videos
  ...
end

video.rb

class Video < ActiveRecord::Base
  extend FriendlyId
  friendly_id :title, use: :slugged
  belongs_to :team
  ...
end

的routes.rb

...
resources :teams, :path => '', :except => [:index] do 
  resources :videos, :path => '', :except => [:index] do
    get 'full_res_download'
    get 'web_download'
  end
end
...

感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

我认为如果你使用它作为你的网址助手,它会起作用:

edit_team_video_path(@video.team, @video)

如果你明确地给它id,那就是它将使用的。