Ruby (友好的_id)如何在嵌套路由中使用slug而不是id?

Ruby (友好的_id)如何在嵌套路由中使用slug而不是id?,ruby,ruby-on-rails-5,friendly-id,Ruby,Ruby On Rails 5,Friendly Id,我有两种模式——团队模式和活动模式 团队有许多:活动&活动属于:团队 使用friend_id gem,我的团队路线按预期工作,即 但是,对于campaign\u路径(@campaign.team,@campaign)我的url显示为我期望的url 我怎样才能做到这一点?我做错了什么 共享我的路由代码片段 resources :teams, :path => 't' do member do get :new_invite resources :campaigns, :p

我有两种模式——团队模式和活动模式

团队
有许多:活动
&活动
属于:团队

使用friend_id gem,我的团队路线按预期工作,即

但是,对于
campaign\u路径(@campaign.team,@campaign)
我的url显示为我期望的url

我怎样才能做到这一点?我做错了什么

共享我的路由代码片段

resources :teams, :path => 't' do
  member do
    get :new_invite
    resources :campaigns, :path => 'c' do
      member do
        get :share_callback
        get :enter
      end
    end
  end
end
Campaign.rb

extend FriendlyId
friendly_id :campaign_heading, use: :slugged
belongs_to :team
Team.rb

extend FriendlyId
friendly_id :slug, use: :slugged

这条路线是一条有资源的路线吗?。如果是,则需要将param键设置为slug。像这样:

resources :campaigns, param: :slug

尝试更明确地使用它:

team_campaign_path(team_id: @campaign.team.slug, @campaign)

你能发布路由文件吗(只有相关部分就足够了)?@AnaMaríaMartínezGómez更新了我的问题。使用frendly_id gem时不需要这个。检查: