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

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

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

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

Ruby on Rails

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

Q&A

解決済

1回答

411閲覧

Ruby on Rails Tutorial 12章 パスワード再設定のルーティング(new_password_reset_path)に関する疑問

natecosan

総合スコア23

Ruby on Rails 5

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

Ruby on Rails

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

0グッド

0クリップ

投稿2019/04/08 01:54

Railsチュートリアルの2周目を進めています。
ルーティングの仕様について疑問が湧いたので、ご教授いただけると嬉しいです!
「12.3.3 パスワードの再設定をテストする」のパートを進めていたところ、以下の「get new_password_reset_path」部分で、名前付きルートを再確認するために「rails routes」コマンドでルーティングを調べました。

リスト 12.18: パスワード再設定の統合テスト test/integration/password_resets_test.rb require 'test_helper' class PasswordResetsTest < ActionDispatch::IntegrationTest def setup ActionMailer::Base.deliveries.clear @user = users(:michael) end test "password resets" do get new_password_reset_path #この部分 assert_template 'password_resets/new' (以下省略)

ルーティング一覧

Prefix Verb URI Pattern Controller#Action password_resets_new GET /password_resets/new(.:format) password_resets#new password_resets_edit GET /password_resets/edit(.:format) password_resets#edit sessions_new GET /sessions/new(.:format) sessions#new users_new GET /users/new(.:format) users#new root GET / static_pages#home help GET /help(.:format) static_pages#help about GET /about(.:format) static_pages#about contact GET /contact(.:format) static_pages#contact signup GET /signup(.:format) users#new POST /signup(.:format) users#create login GET /login(.:format) sessions#new POST /login(.:format) sessions#create logout DELETE /logout(.:format) sessions#destroy users GET /users(.:format) users#index POST /users(.:format) users#create new_user GET /users/new(.:format) users#new edit_user GET /users/:id/edit(.:format) users#edit user GET /users/:id(.:format) users#show PATCH /users/:id(.:format) users#update PUT /users/:id(.:format) users#update DELETE /users/:id(.:format) users#destroy edit_account_activation GET /account_activations/:id/edit(.:format) account_activations#edit password_resets POST /password_resets(.:format) password_resets#create new_password_reset GET /password_resets/new(.:format) password_resets#new edit_password_reset GET /password_resets/:id/edit(.:format) password_resets#edit password_reset PATCH /password_resets/:id(.:format) password_resets#update PUT /password_resets/:id(.:format) password_resets#update

単純な疑問なのですが、この微妙に名前が異なる2つのルーティングの違いはなんでしょうか?
テスト段階においてどちらの名前付きルートを使っても結果は同じになるというだけなのでしょうか・・・

Prefix Verb URI Pattern Controller#Action password_resets_new GET /password_resets/new(.:format) password_resets#new new_password_reset GET /password_resets/new(.:format) password_resets#new

どうぞよろしくお願いします!

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

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

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

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

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

guest

回答1

0

ベストアンサー

RailsTutorialを見る限りpassword_resets_newは作られていません。

ruby

1Rails.application.routes.draw do 2 root 'static_pages#home' 3 get '/help', to: 'static_pages#help' 4 get '/about', to: 'static_pages#about' 5 get '/contact', to: 'static_pages#contact' 6 get '/signup', to: 'users#new' 7 get '/login', to: 'sessions#new' 8 post '/login', to: 'sessions#create' 9 delete '/logout', to: 'sessions#destroy' 10 resources :users 11 resources :account_activations, only: [:edit] 12 resources :password_resets, only: [:new, :create, :edit, :update] 13end

ご自身で作られたものなのではないでしょうか?

どちらの名前付きルートを使っても結果は同じになるというだけなのでしょうか・・・

どちらも同じアクションが実行されます。

投稿2019/04/08 04:16

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

natecosan

2019/04/11 11:27

回答ありがとうございます。 他の質問されている方も、同様のルーティングが作られているようだったので、もしかしたら演習などで2重に作ってしまったのかな・・・?と思いました。 https://teratail.com/questions/49965 ともあれ、同じアクションが実行されるのであれば納得しました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問