

Railsのルーティングを見ていて、わからない記述があったので質問させてください。  
これは/sample（や/sample/hoge）に遷移した時にsample#showを見に行くという理解で良いでしょうか？

[code]

    resource :sample, controller: :sample, only: [:show] do
      get '*other', to: 'sample#show'
    end
    
[/code]

ちなみにこのsample#showはSPAのファイルを読みに行っており

[code]

    def show
      render file: Rails.public_path.join('dist', 'web', 'sample', 'index.html'), layout: false
    end
    
[/code]

のように書かれています。  
SPA側には

/sample  
/sample/confirm  
/sample/complete  
に相当する画面のファイルがあります。


CC BY-SA 4.0
2021-04-07T03:08:57.137
75130
2021-04-07T10:21:13.260
2021-04-07T10:17:04.710
19110
9542
question
ruby-on-rails
Railsのルーティングの書き方で理解できてないところがある


`get '*other', to: 'sample#show'` の部分については、ルーティンググロブが使われています。`sample/なんとかかんとか`
を get しようとしたときに `sample#show` にルーティングします。このとき「なんとかかんとか」の部分が `params[:other]`
に入ります。

[https://railsguides.jp/routing.html#ルーティンググロブとワイルドカードセグメント](https://railsguides.jp/routing.html#%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B0%E3%83%AD%E3%83%96%E3%81%A8%E3%83%AF%E3%82%A4%E3%83%AB%E3%83%89%E3%82%AB%E3%83%BC%E3%83%89%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88)

> ルーティンググロブ (route globbing)
> とはワイルドカード展開のことであり、ルーティングのある位置から下のすべての部分に特定のパラメータをマッチさせる際に使います。例:
[code]

>     get 'photos/*other', to: 'photos#unknown'
>  
[/code]


CC BY-SA 4.0
2021-04-07T10:21:13.260
75144
2021-04-07T10:21:13.260
19110
75130
answer