1

デフォルトのルート ファイルには、次のセグメントがあります。

  # This is a legacy wild controller route that's not recommended for RESTful applications.
  # Note: This route will make all actions in every controller accessible via GET requests.
  # match ':controller(/:action(/:id))(.:format)'

では、形式が ':controller(/:action(/:id))(.:format)' の場合に、Rails がコントローラー、アクション、およびビューを表示することを想定させることの問題点は何でしょうか? つまり、ネストなどのより具体的なことについては、いつでも特定のルートを使用できます...

4

3 に答える 3

2

それは単なる常識的なセキュリティ対策です。

アプリが悪意のあるユーザーにテーブルやレコードの内容をうっかり漏らさないように、デザイナーは GET 要求をホワイトリストに登録する必要があります。

于 2012-08-10T21:35:10.537 に答える
1

開発者が怠け者であることを許されれば、そうなるでしょう。私たちは努力を最適化することに非常に長けています。

ルートを明確にしないと、新しいコントローラーを使用するたびに 5 秒節約できますが、新しい開発者にとっては頭痛の種になります。新しい開発者はコードベースに慣れておらず、どのように接続されているかを知りません。ビューコントローラーをリバースエンジニアリングする必要があります。

そこにいます。かわいくない。

通常、明示的である方が適切です。

于 2012-08-10T21:39:00.473 に答える
1

誰もが次の Facebook を構築しているわけではなく、私たちの何人かは楽しみのために、または開発デバイスでのみ使用する単純なアプリを作成するために、または単にお尻ではなく、実際に答えがある質問に「答える」ためにこれを行っています。自分自身を非常にスマートで重要に見せる:

match '/:controller(/:action(/:id))(.:format)', to: "#{:controller}#{:action}", via: [:get, :post]
于 2014-08-18T10:28:42.770 に答える