facebookとかinstagramにある自分用のページのようなことを作ってます。
facebook.com/ユーザ名/ にアクセスできるページのことです。
現在私のrails route設定は以下の通りです。
scope module: :front do resources :users, constraints: { nickname: /[^/]+/ }, only: [] do scope module: :users do resources :top, only: [:index], as: "top", path: "" resources :followers, only: [:index] resources :followings, only: [:index] end end end
rake routes結果:
user_top_index GET /users/:user_id(.:format) front/users/top#index user_followers GET /users/:user_id/followers(.:format) front/users/followers#index user_followings GET /users/:user_id/followings(.:format) front/users/followings#index
現在自分のコードだとxxx.com/users/ユーザー名
になってしまいますが、この/usersを省きたいです。
rake routesの結果だと以下の通りになりたいです。
xx GET /:nickname(.:format) front/users/top#index xx GET /:nickname/followers(.:format) front/users/followers#index xx GET /:nickname/followings(.:format) front/users/followings#index
いろいろ変えてみてますが、想定する結果にはなりませんでした。
失敗1
resources ':nickname', constraints: { nickname: /[^/]+/ }, only: [] do
->
GET /:nickname/::nickname_id(.:format) front/users/top#index {:nickname=>/[^/]+/}
になってしまう
失敗2
get '/:nickname', to: 'users#index', constraints: {nickname:/[^/]+/} do
->
/:nickname/followers
などが消えてしまう
参考にできる情報がありましたら教えていただければ助かります。
以上、よろしくお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。