0

次のアプリケーションのsessionとの違いがわかりません。params

ユーザーが新しい映画フォームを送信します。関連付けられたコントローラーは、映画のタイトルにどのようにアクセスしますか?

  1. session['title']
  2. session.title
  3. params['title']
  4. params.title
  5. 上記のすべて

コントローラークラスのセッションとパラメーターの違いでの StackOverflow の回答に基づいています。

paramsURLまたはフォームの投稿本文に存在するため、クエリが作成されるとすぐに消えます.

セッションは複数のリクエスト間で保持されます (情報は多くの場合 Cookie に保存されますが、これは構成によって異なります)。

要するに:

  • params: 1 つのリクエストのみ (1 つのオブジェクトの作成、1 つの特定のページへのアクセス)
  • セッション: 保持される情報 (カート、ログインしているユーザーなど)

クイズで(1)session ['title']を選んだのですが、答えを間違えました。(1) を選択したのは、保持する必要がある情報にアクセスする必要があると考えたからです。

私は質問を誤解していますか?おそらくこれは「1つのリクエストのみ」に該当するため、答えは(3)params['title']になりますか?

4

2 に答える 2

0

データにアクセスする前に、データを配置する必要があります。デフォルトの Rails 生成フォームでは、すべてのデータが params の 1 つのリクエストで送信されます。User#create アクションを指すフォームがあり、'name' 入力がある場合、User#create アクションに params['name'] があります。

セッションは別のものです。標準生成された Rails scaffold でセッションを見つけるのは困難です。セッションにハッシュとしてアクセスできます。session['name'] は、リクエスト間の名前を保存します。続きを読む

そのため、パラメータは 1 つのリクエストに対して生成されます。ユーザーからサーバーにデータを転送するために、セッションはデータの転送ではなく保存に使用されます。

于 2013-07-31T19:11:17.543 に答える