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

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

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

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

Ruby on Rails

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

Q&A

解決済

3回答

4136閲覧

Rails resourcesは実際に現場で使用しますか?

lolohacker

総合スコア31

Ruby on Rails 5

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

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

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

Ruby on Rails

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

0グッド

0クリップ

投稿2020/02/11 10:57

編集2020/02/11 10:59

質問

表題の通りです。

質問の経緯

Railsで開発を進める際に使用するルーティングについて

1つのモデルに対して表示、更新、削除などのルーティングを作成してくれる
メソッド resources は

  • マスタの一覧を表示、新規登録、更新、削除といった処理には使用するといい
  • どのようなルートが作成されているか、prefix_pathが使用できるかソース上ではわかりづらい

と個人的に考えています。

どのようなルートが作成されているか、prefix_pathが使用できるかソース上ではわかりづらい

このデメリットが大きい故に resources をあまり使用しないのですが、
実際の現場では使用することはあるのでしょうか?
※デメリットと記載しましたがあくまで個人の考えという意味です

もしあればこういう場面で使えるといったことを
ざっくりとでいいので教えて頂けると幸いです。
色々な方の意見を聞かせていただきたいです。

よろしくお願いいたします。

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

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

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

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

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

guest

回答3

0

「どのようなルートが作成されているか、prefix_pathが使用できるか」明確だから使うほうが良いです。
どのモデルのresourcesでも同じpathになるし。

投稿2020/02/11 12:49

winterboum

総合スコア23401

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

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

lolohacker

2020/02/12 00:58

なるほどです、その考えが自分にはなかったです。 DHH氏の思想がまさに 「「どのようなルートが作成されているか、prefix_pathが使用できるか」明確だから使うほうが良い」 ということなんでしょうね。 回答ありがとうございます。
guest

0

Railsの創始者であるDHH氏は、resoucesにあるindexshowneweditcreateupdatedestroyだけを使ってルーティングを書くべきだと説いています。

この7つしか使わないのであれば、全てresourcesに揃えれば統一的なルーティングとなります。

DHHはどのようにRailsのコントローラを書くのか

投稿2020/02/11 13:05

maisumakun

総合スコア145208

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

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

winterboum

2020/02/11 13:07

沢山書かなくて済むから、すっきりしてわかりやすいし。
lolohacker

2020/02/12 00:56

恥ずかしながらこの思想をそもそも知らずに実装をしていました。教えていただきありがとうございます。
guest

0

ベストアンサー

管理画面など分かりきったところはresourcesを使う場合もあります。
一方で公開画面などURLを意識的に設定したい場合は、resourcesを使わない場合もあります。
ケースバイケースだと思いますので、resourcesを使わなければならないという事はないと考えます。

投稿2020/02/11 13:53

mingos

総合スコア4032

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

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

winterboum

2020/02/12 00:05 編集

DHH氏には申し訳ないのですが、私がいま手がけているアプリはそれ以外のactionの方が多いです。 ですが、それらのactionについてはresourcesを使っています。 それは(routesに限らないのですが)Railアプリの場合規約に外れたことをすると後から参加した人・メンテする人が理解するのに時間がかかります。だけならまだ良いのですが時に勘違い・誤解を呼びます。ですので、規約にある事柄は規約に従うことを薦めます。 むろん、それらとは違うURLにする仕様である場合はしかたありませんが
lolohacker

2020/02/12 00:54

>winterboumさん >DHH氏には申し訳ないのですが、私がいま手がけているアプリはそれ以外のactionの方が多いです。 >ですが、それらのactionについてはresourcesを使っています。 それ以外のactionについてですが 「それ以外のactionはresourcesに対応するactionから呼び出されるように実装している」 といった認識で間違いないでしょうか?
winterboum

2020/02/12 01:01

index、show、new、edit、create、update、destro についてはresoecesに任せ、それ以外の独自なもの confirmとかimportとかは定義してます
lolohacker

2020/02/12 03:14

>それ以外の独自なもの confirmとかimportとかは定義してます はindex、show、new、edit、create、update、destroyから呼び出す想定で実装するということでしょうか?それとも状況に応じてルーティングを追加するのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問