質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1043閲覧

Rails routeを:user_name/xxにする方法

Kimsehwa

総合スコア312

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2018/05/09 13:50

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
などが消えてしまう

参考にできる情報がありましたら教えていただければ助かります。
以上、よろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

質問者さんの書き方にあわせるなら、これかな~。

scope '/:nickname', module: 'front/users' do resources :top, only: [:index], as: "top", path: "" resources :following, only: [:index] resources :followings, only: [:index] end

このページを一通り眺めとくといいと思います
https://railsguides.jp/routing.html

投稿2018/06/21 15:11

dobby618

総合スコア302

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問