Rails 5アプリでFriendlyId & Ancestry Gemを使用しています。私はプライマリサービスのサイロマーケティングページを作成しており、別々の祖先の親パス上にある重複するスラッグを作成する必要があります。私は参照のために以下の初期シードファイルを含めました。あなたが見ることができるようにFriendlyIdとAncestry Gem in Railsで重複したスラッグを許可する5
、私のルート・パスは、次のとおりです。
www.mysite.com
www.mysite.com/events
www.mysite.com/events/san-diego
www.mysite.com/events/orange-county
www.mysite.com/events/los-angeles
www.mysite.com/events/riverside
**ここにいる私は必要な重複ナメクジ**ナメクジが重複しているが、あなたが見ることができるように
www.mysite.com/events/san-diego/birthday-parties
www.mysite.com/events/orange-county/birthday-parties
www.mysite.com/events/los-angeles/birthday-parties
www.mysite.com/events/riverside/birthday-parties
...
、彼らは別の親のパスから離れて座っています。親に基づいてスラッグを検証するにはどうしたらよいですか?それで、重複するスラッグを作成することができますか?
**デシベル/ seeds.rb **
home = Page.create(title: 'Home')
# home/events
events = Page.create(title: 'Events', parent: home)
# home/events/cityPage
san_diego = Page.create(title: 'San Diego', parent: events)
orange_county = Page.create(title: 'Orange County', parent: events)
los_angeles = Page.create(title: 'Los Angeles', parent: events)
riverside = Page.create(title: 'Riverside', parent: events)
# home/events/san-diego/eventPage
Page.create(title: 'Birthday Parties', parent: san_diego)
Page.create(title: 'School Events', parent: san_diego)
Page.create(title: 'Church Events', parent: san_diego)
Page.create(title: 'Corporate Events', parent: san_diego)
Page.create(title: 'Social Events', parent: san_diego)
Page.create(title: 'Community Events', parent: san_diego)
# home/events/orange-county/eventPage
Page.create(title: 'Birthday Parties', parent: orange_county)
Page.create(title: 'School Events', parent: orange_county)
Page.create(title: 'Church Events', parent: orange_county)
Page.create(title: 'Corporate Events', parent: orange_county)
Page.create(title: 'Social Events', parent: orange_county)
Page.create(title: 'Community Events', parent: orange_county)
# home/events/los-angeles/eventPage
Page.create(title: 'Birthday Parties', parent: los_angeles)
Page.create(title: 'School Events', parent: los_angeles)
Page.create(title: 'Church Events', parent: los_angeles)
Page.create(title: 'Corporate Events', parent: los_angeles)
Page.create(title: 'Social Events', parent: los_angeles)
Page.create(title: 'Community Events', parent: los_angeles)
# home/events/riverside/eventPage
Page.create(title: 'Birthday Parties', parent: riverside)
Page.create(title: 'School Events', parent: riverside)
Page.create(title: 'Church Events', parent: riverside)
Page.create(title: 'Corporate Events', parent: riverside)
Page.create(title: 'Social Events', parent: riverside)
Page.create(title: 'Community Events', parent: riverside)
**重複ナメクジに追加されたハッシュを示すデータベースのスクリーンショット**あなたがvalidates_uniqueness_ofを使用することができます