web-dev-qa-db-ja.com

ルール条件の設定における「site:current-user:field-foo」と「account:field-foo」の違いは?

「新しい条件の追加」ルールの「site:current-user:field-foo」と「account:field-foo」の違いは何ですか?

3
ja_him

コメントで述べたように、ルールで使用できる変数は、そのコンテキストによって異なります。

[site:current-user]は、任意のルールで使用可能なグローバルトークンであり、常に現在ログインしているユーザーに関連するオブジェクトを常に返します。

[account]トークンがあるのは、「新しいユーザーアカウントを保存した後」イベントに応答しているためです。そのイベントは、(明らかな理由により)保存されたばかりのユーザーオブジェクトに関連するオブジェクトを渡します。

主な違いは、前者は常に現在ログインしているユーザーを提供するのに対し、後者は完全に別のユーザーオブジェクトになる可能性があることです(たとえば、管理者がアカウントを作成した場合)。

2
Clive

「新しいユーザーアカウントを保存した後」イベントでは、[account:field-foo]は保存されているアカウントを指し、[site:current-user:field-foo]は現在ログインしているユーザーを指します。おそらく、新しいアカウントを作成したか、アカウントを自動的に作成したユーザーです。

管理者が別のユーザーのアカウントを作成する場合、[site:current-user:field-foo]は管理者アカウント用です。

1
kiamlaluno