問題タブ [simple-schema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - alanning:roles を使用した meteor-app でのロール管理の構造化
meteor-app で正しいロール スキーマと管理を構築するためのアドバイスが必要です。
構造
alanning:roles@1.2.13
アプリにロール管理機能を追加するために使用しています。- ユーザー タイプには、管理者、編集者、エキスパート、およびユーザーの 4 種類があります。
- さらに、Cars、Maths、Images など、さまざまなコンテンツのモジュールがいくつかあります。すべてのモジュールは独自の meteor-package にまとめられています。
- すべてのモジュールにはいくつかのカテゴリがあり、エディタによって動的に追加できます。
モジュールのカテゴリ
モジュールは次のように構成されています。
ご覧のとおり、使用可能なすべてのカテゴリはモジュールのコレクション内にあります。
権利
- 管理者: 完全な権限
- エディター: 選択したモジュールの要素を編集できます (つまり、editor_1 は自動車と画像の要素を編集できますが、数学の要素は編集できません)。
- エキスパート: モジュール全体またはモジュールの一部のカテゴリのみに対する権利を取得できます (つまり、expert_1 は画像を編集できますが、車のカテゴリ「ホンダ」と「メルセデス」の要素のみを編集できます)。数学への編集なし)
- ユーザー: 編集なし
これは私が技術的に認証を行う方法です:
router.js
テンプレート
この router.js をすべてのパッケージに入れます。唯一の変更点は、各パッケージ (Cars、Maths、Images) の Collection を使用するデータ関数です。
更新:「Eliezer Steinbock」がコメントしたように、mongoDB 自体へのアクセスを制限する必要があります。でも今まではルート上でしかやっていませんでした。
パーミッション.js
私の問題
1) 私の最初の問題は、役割とグループをどのように使用するかです。グループを使用する最良の方法は何ですか? 2 つ目の問題は、モジュールに固定のカテゴリがないことです。今のところ、有用な役割/グループ スキーマがわかりません。
2) 役割を確認するにはどうすればよいですか? アクセスできる役割は、管理者、編集者、専門家などさまざまです。また、このモジュールの定義されたカテゴリにアクセスするだけの専門家にも問題がありました。
3) permission.js をより一般的なものにした方がよいのではないでしょうか。つまり、動的関数を作成することは可能なので、どこにでも同じコードを配置する必要はありませんか? 便利な方法で、permission.js にロールを実装するにはどうすればよいですか?
meteor - Meteor Autoform/SimpleSchema - クイックフォーム (type="update") が機能しない
私は現在 2 つのテンプレートを持っている単純な SimpleSchema だと思ったものを持っています。1 つは新しいドキュメントをコレクションに挿入するためのクイックフォームを含み、もう 1 つは最初のテンプレートからドキュメントを更新するクイックフォームでもあります。
挿入フォームは正常に機能しますが、更新テンプレートを読み込もうとすると、コンソールに次のエラーが表示され、送信ボタンが機能しません。同様の問題を抱えていた人によると、エラーは通常再帰関数によって引き起こされますが、どこにも見つかりません。
ここに私の2つのテンプレートがあります:
ここに私の簡単なスキーマ:
誰が私が間違っているのか手がかりを持っていますか?
ここ数時間、ビットをいじっています:/
javascript - Meteorのカスタム検証simple-schemaでブール値がtrueかどうかを確認する方法
次のスキーマがあります。
私の目標は、description
が空かどうかを確認することですが、チェックボックスがオンmultiplayer
になっている場合のみです。チェックボックスがチェックされていない場合、入力はdescription
必須ではありません。
上記のコードを試しましたが、検証されません。説明がなく、チェックボックスをオンにしても、フォームを送信できます。
javascript - AutoForm Select2 Meteor で自分のユーザー ID にアクセスするには?
私は Select2 AutoForm を使用しており、次のスキーマがあります。
これでうまくいきましたが、問題は、現在ログインしているユーザー名もオプションとして表示されることです。この特定のオプションを削除したいので、次のことを試しました。
ただし、this.userId
利用できません。この変数にアクセスするにはどうすればよいですか?
編集: クライアント側でオプションを設定しようとしましたが、うまくいきませんでした:
次の例外があります。
meteor - 単純なスキーマで検証を完全にスキップして、不完全なドキュメントを保存できるようにする方法は?
注文フォームと注文用に定義されたスキーマを作成しています (住所、顧客情報、選択したアイテムとその数量などの特定の必須フィールド)。
を。ユーザーがサイトにアクセスします。
b. セッションの一意の ID とタイムスタンプが生成されます。
c. はuserSession
ローカル ストレージに配置されます。
d. これまでのところ、sessionId を唯一のフィールドとして Order オブジェクトが作成されています。
e. 明らかに、この時点で Order オブジェクトはスキーマに従って検証されないため、Mongo に格納できません。しかし、ユーザーの最初の訪問時に生成されたセッション ID を使用して、不完全な注文または進行中の注文を後で取得できるように、Mongo に保存したいと考えています。
検証に失敗するため、これは機能しません。
f. ユーザーがサイトに再アクセスしたときに、Mongo から不完全な注文を取得して再開できるようにしたい:
したがって、これらのポイントを達成しながらこれを行う方法がわかりません。
ユーザーがフォームにアイテムを入力するとき、およびユーザーが完全な完全な注文を送信しようとしているときに、コレクションの完全な
simpleschema
検証が必要です。Orders
simpleschema
コレクションの検証を無効Orders
にし、DB への保存を許可して、後で再開するために部分的な注文を保存できるようにしたいと考えています。
ここでこれを使用してフィールドを条件付きで必須にすることができますが、それは、このシナリオのためだけに 50 以上のフィールドが条件付きで必須になることを意味し、非常に面倒に思えます。
meteor - Meteor Simple Schema で AutoForm オプション値のラベルを取得する
Meteor テンプレート{{parameter}}
では、このスキーマのオプションの値を返します。
テンプレートlabel
の代わりに取得するにはどうすればよいですか?value