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时不需要这个。检查: