問題タブ [scopes]
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.
ruby-on-rails - Rails3.0の複数のスコープ
私はRailsの初心者ですが、スコープに問題があります。
私は2つのスコープを持つクラスを持っています:
終わり
そして、私のコントローラーでは、この2つのスコープを同時に使用したいと思います。やった :
しかし、私は動作しません、私はこのエラーがあります:
これは、最初のスコープが配列を返すためです。
それを機能させるにはどうすればよいですか?
ありがとうございました !
ruby-on-rails-3 - Rails マルチテナンシー、スコープ、クラス変数、スレッド セーフ
短縮版
クラス変数は、コントローラ アクションの実行中はスレッド セーフですか?
ロングバージョン
tenant_id
データが誰に属しているかを識別するために、各テーブルに列を持つ単一のデータベース スキーマを使用してマルチテナンシーを実装する Rails 3 アプリを作成しています。
当然、データへのアクセスがテナントごとに適切に分離されるように、データベースで実行されるすべてのクエリの範囲を設定する方法が必要です。
tenant
何人かの人々は、常にインスタンスを介してデータベースにアクセスすることでこれを達成することを提案しています。
等
ただし、マルチテナンシーはアーキテクチャの問題 (ビジネス ドメインの問題ではない) であるため、スコープをグローバルに設定することで、モデルに対して可能な限り透明性を維持したいと考えています。また、はるかに乾燥しています。
マルチテナントgemとaround_filtersを使用してこれを行うことができることがわかりました:
これdefault_scope
により、適切なモデルが操作され、すべてのデータ アクセスが現在のテナントに自動的に適用されます。
これは開発ではうまく機能しますが、スレッドの安全性について懸念があります。参照をクラス変数にMultitenant.with_tenant
保存します。current_tenant
問題は、コントローラーのアクションがスタック上にある間、その変数の整合性を信頼できるかどうかです。または、別の要求によって破損している可能性がありますか?
また、Rails の一般的な同時実行の問題に関する良い情報源は何ですか?
ruby-on-rails - Rails でのモデル スコープのドキュメントの追加
これが実際に可能かどうかはわかりませんが、app/models
ファイルにスコープのドキュメントを追加することで、Rails アプリのドキュメントをより完全なものにしようとしています。私がしようとしていることは次のとおりです。
そして、アプリで rdoc を実行すると、次のように文書化されるより伝統的なメソッドとともに、パブリック クラス メソッドとしてリストされていることを確認したいと思います。newest_records
編集
この質問は少し曖昧かもしれません。したがって、ここで明確にする試みがあります。現在、宣言の上にコメント行を追加しようとするとscope
、RDoc によって生成されたスコープのドキュメントは取得されません。RDocがメタメソッド/属性を取得できることは知っています。そうしないと、で宣言されたドキュメントに属性が表示されませんattr_accessor
。だから私の質問は、次のようにファイルにコメントを追加する方法です:
- このメソッドは、RDoc で生成されたドキュメントに表示されます
- パブリッククラスメソッドとして表示されます(パブリックインスタンスメソッドなどとは対照的に)
struts2 - Struts2 と複数のアクティブなウィザード/ワークフロー
私は現在、望ましい結果を生み出すためにウィザード/ワークフローを統合する Struts2 アプリケーションに取り組んでいます。より明確にするために、3 つの異なるページで (主に AJAX 呼び出しで) 変更されるビジネス オブジェクトがあります。現時点では、ModelDriven アクション (同じビジネス オブジェクトで動作するすべてのアクションによって拡張されます) を Scope インターセプターと組み合わせて使用しています。これは、ユーザーが一度に 1 つのビジネス オブジェクトのデータのみを処理している場合は問題なく機能しますが、ユーザーが複数のタブで異なるオブジェクトのウィザードを開くと (そして、物事をより速く完了したい場合にこれを行います)、すべてが面倒になります。主に、セッションに保存されているビジネス オブジェクトが 1 つしかないという事実が原因です。
Conversation Scope Interceptor の使用に関する記事 (メイン記事) と Scope プラグインの使用に関する記事 (こちら)をいくつか読みました。ただし、どちらのアプローチにも問題があるようです。
- Conversation Scope Interceptor は、会話を自動的に期限切れにすることも、Struts2 と適切に統合することもありません。
- Scope プラグインには適切なドキュメントがなく、最後のビルドは 2007 年に作成されました (実際には、Mark Menard が Conversation Scope Interceptor を定義するときに書いたアイデアの一部が含まれていますが、同じコードは使用されていません)。
Spring の WebFlow プラグインは、現時点で使用するには少し複雑すぎるようです。現在、数時間で実装できるものを探していますが、必要に応じて機能するものを提案していただければ構いませんが、現在これに費やしたいよりも多くの時間が必要な場合でもかまいません。 .
ベテランの Struts2 開発者の皆さん、何を提案しますか? これをどのように実装すればよいですか?
ruby-on-rails-3 - Arel を使用して (おそらく) Rails 3 のクエリに影響を与えない ActiveRecord スコープを作成するにはどうすればよいですか?
基本的に、スコープのチェーンに適用するノーオペレーションタイプの関係を探しています。
スコープのチェーンがあるとしましょう:
ここで、デバッグの目的で、published
スコープがまったく何もしないようにして、チェーンが投稿を返すapproved
かどうかに関係なく投稿のみを返すようにしpublished
ます。
次のメソッドで何を返しますか。
ruby-on-rails-3 - Railsアソシエーションの仕様を書く方法は?
完璧なテストには、テスト フレームワークとテスト対象のクラスが含まれているだけだと言われています。他のすべては嘲笑されるべきです。では、協会はどうでしょうか。
has_many
そして、単純な関連付けではなく、belongs_to
関連付けの拡張とスコープを意味します。スコープの仕様を書きたいのですが、どうすればいいのかわかりません。
ruby-on-rails-3 - Rails 3.1 でスコープを使用したマージ メソッドが機能しなくなったのはなぜですか?
Rails 3+ のスコープに関する素晴らしい記事を見つけました: http://edgerails.info/articles/what-s-new-in-edge-rails/2010/02/23/the-skinny-on-scopes-before -named-scope/index.html
次のように、異なるモデルのスコープをマージすることが可能であることを (「クレイジー タウン」セクションで) 読むことができます。
これは期待どおりに機能し、次のことができます。
Rails 3.1 プロジェクトでこのアプローチを試してみましたが、どうやら機能していないようです。
そこで私は、この記事の Rails 3.0.0-beta1 プロジェクトのクローンを作成しました。この目で見て、彼らは嘘をついておらず、物事は彼らの言う通りに機能していることがわかりました。
それから私はそれを3.1にしました、そして今私は得ます:
==>もう機能しません。
スコープのマージはすばらしかったのに、今は思ったほど DRY になれないので、それは私を悲しくさせます。
あなたは知っていますか :
- 2 つのバージョンの間で何が起こったのですか?
- 同じことをする他の方法はありますか?
java - GETリクエストパラメータを@ViewScopedBeanに取得する
ユーザーが「PQ」(リンクのリスト)を選択できる(リクエストスコープの)リストがあります。クリックするか、ブラウザに入力すると、各PQのメインページが表示されます。各PQのページは次の形式です
http://localhost:8080/projectname/main.jsf?id=2
最初のPQBeanは次のとおりです。
main.xhtmlは次のとおりです。
ページ/URLを選択または更新するたびに、 :NullPointerException
から取得します。EntityManager
[47行目はem.find(...)]
この線
物事を良くすることはありません。私は今かなり絶望的です。
どのようにしてURLGETリクエストパラメータを@ViewScoped
Beanに取り込みますか?
注:それは簡単なことではないと思います。概念的にここで何か間違ったことをしている可能性があるので、改善するためのヒントを歓迎します。@ViewScoped
そのページには、URL GETパラメーターを介してアクセスできるようにしておきたいより複雑なAJAXベースのGUIがあるため、選択する必要があると感じました。
ありがとう
ruby-on-rails - Rails/Deviseで複数のスコープ/ロールでログインとログアウトを処理する最良の方法は何ですか?
このサイトの Devise RDocs である Google を検索して、質問に対する回答を探しましたが、うまくいきませんでした。
4 つの Devise スコープ/ロールがあり、それぞれに独自の属性、ログイン ページ、および個別の Web フローがあるとします。
- 学生
- 教授
- 学部長
- 学部
これらはすべて User クラスを使用し、次の属性が共通しています。
- ID
- 名前
- Eメール
- パスワード
- 役割
これを設定するために確立したルートの例を次に示します。
次に、devise スコープのビューを生成し、それらをいじってみました。
その後、アプリケーション コントローラーにコードを追加して、すべてをルート パスにルーティングする Devise::RegistrationsController をオーバーライドする必要がありました。
signed_in?などの優れたヘルパーにアクセスできますか? 上記のスコープのいずれかのユーザーがログインしているかどうかがわかります。素晴らしい!!! 現在、 current_userにも同様の機能が必要です。
次のヘルパーにアクセスできます。
- 現在の学生
- 現在の教授
- current_dean
- 現在の教員
それらは完全に機能しますが、ここに問題があります。これらすべてのスコープを共有するビューがあるとします。そのビューでcurrent_studentを試しても、教授としてログインしている場合は機能しません。
例: ユーザーがログインしている場合にログアウトできるようにするために、すべてのページに含めたいパーシャルがあります。これは、学生のために行った方法です。うまく動作します。
私がやりたいことは、学生、学部長、教授、または教員としてログインしているかどうかに関係なく、すべてのスコープ/リソースをログアウトする機能を提供する次のようなものです。
私の次のステップは、次のようにスコープを決定するために独自のヘルパー メソッドを追加することでした。
このアプローチがうまくいくなら、私はそうするでしょうが、将来さらに役割や一般的な機能を追加することにした場合、非常に非効率的で退屈に思えます...
より良い方法が必要ですか?これにより、Devise の使い方が間違っているか、どこかが欠けているように感じます。
php - スコープの問題:クラスで呼び出されたときに必要なファイルが変数にアクセスできない
したがって、file.phpには、echo$testが含まれます。
私がこれをクラスの外で呼ぶとしたら、例えば
'test.php'が必要です; $ testは問題なく取得されますが、クラス内での呼び出しには明らかなスコープの問題があります。関数内で必要なファイルに変数へのアクセスを許可するにはどうすればよいですか?
編集: - - - - - - - - - - - -
このファイルにアクセスしたい複数の変数があります(これらはすべてページに基づいて動的であるため、常に設定されるとは限らないため、x変数とy変数を追加することはできません)各変数をグローバルにアクセス可能として宣言するのではなく、方法はありませんクラスで必要なファイルを許可するには、そうでないかのようにこれらの変数にアクセスしますか?
フィードバックありがとうございます。残念ながら、私が望むことは不可能に思えますが、ファイルにアクセスするために必要な最も重要な変数をグローバルとして登録する回避策を作成するように促されました。