問題タブ [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.

0 投票する
6 に答える
21813 参照

sql - 関連付けが存在しないかどうかを確認するRailsスコープ

特定の関連付けを持たないすべてのレコードを返すスコープを作成することを検討しています。

foo.rb

bar.rb

持っていないものすべてFoo's見つけることができるスコープが欲しいですbars。を使用して関連付けがあるものを見つけるのは簡単ですがjoins、私は反対の方法を見つけていません。

0 投票する
2 に答える
725 参照

activerecord - 多対多の関係のためのスコープの作成

賃借人、部門、基準の3つのモデルのアプリケーションがあります。

レンターモデルで2つのスコープを作成して、部門別および基準別に賃借人を検索できるようにしようとしています。

これが私が持っているコードです:

使用する

また

単独で動作します。しかし、私がそれらを連鎖させようとすると、

次のようなエラーが発生します。

さらに、

私が間違っていることについて何か考えはありますか?

0 投票する
2 に答える
447 参照

ruby-on-rails - .send() を使用して配列に格納されたスコープを追加するエレガントなワンライナーはありますか?

これが私が持っているものです

現在、私はこれをやっています:

しかし、それは非常に柔軟ではありませんか?これらのスコープのいずれかを条件付きで持たないようにしたい場合はどうすればよいですか?

条件付きで追加された要素を持つスコープの配列が良い解決策になると思います

.send() を使用して呼び出すパラメーターの配列

そのため、不明な番号スコープがいくつかある可能性があります。

スコープを実行するには、呼び出す必要があります.send(:scope_name, scope_param)

scopesしかし、配列内の任意の数のスコープに対してそれを行うにはどうすればよいですか?

ループとしては、次のようなものになると思います

ループは次のように単純化できます

しかし、異なる送信呼び出しを 1 行に追加する方法はありますか?

0 投票する
1 に答える
521 参照

ruby-on-rails - rake assets:precompile を実行すると、(まだ) テーブルがない場合に失敗します

データベースがクリーンで、テーブルがなく、テスト中やデプロイ先の新しいサーバーを設定するときによく発生する場合、assets:precompile などの多くの rake タスクが次のエラーで失敗します。

それを修正する理由と方法はありますか?

trace で実行すると、staffer.rb:103 からエラーが生成されていることがわかります。

コメントアウトすると、少なくとも assets:precompile が機能します。

すべてが active_admin によってトリガーされているようです。admin/users.rb の最初の行は次のようになります。

エラー全体は次のようになります。

0 投票する
1 に答える
132 参照

ruby - Ruby ブロックはどのように実装されていますか (コンパイラーで)

Ruby のブロックに似た言語構造を実装したいと考えています。そう

正常にコンパイルされるはずです。ソースコードを 1 時間見ましたが、CI があまり得意ではないので、どのように実装するのかまだわかりません。私が最初に考えたのは、アドレスがパラメーターとして渡されるネストされた関数であるということでしたが、ネストされた関数がローカル変数にどのようにアクセスできるかはわかりません。ほとんどの言語ではこれが不可能であるように思われるからです。誰かがこれを実装する方法のアイデアを私に与えることができれば、私はとてもうれしいです

0 投票する
2 に答える
1500 参照

ruby-on-rails - スコープを使用して ActiveRecord の複数の DateTime 範囲内で結果を返す

日付と日付を持つSessionモデルがあり、どちらも としてデータベースに保存されています。私は現在、巨大なテーブルに一連の結果を吐き出し、ユーザーがスコープを使用して単一の日付とオプションの時間範囲で結果をフィルタリングできるようにしています。:created_at:start_time:time

コントローラーは多かれ少なかれ次のようになります。

ユーザーが複数の日付を使用して結果をフィルタリングできるようにする必要があります。パラメータを文字列形式のコンマ区切りリストとして受け取っています。たとえば"07/12/2012,07/13/2012,07/17/2012"、 、いくつかの異なる日付範囲、およびそれらの日付範囲内の時間範囲についてデータベースにクエリを実行し、それらの結果をマージできる必要があるため、たとえばすべて7/12、7/13、7/17 のセッションのうち、午後 6 時 30 分~午後 7 時 30 分の間。

私はどこでも探していて、いくつかの異なることを試しましたが、実際にこれを行う方法がわかりません。これはスコープを使用して可能ですか? そうでない場合、これを行う最良の方法は何ですか?

私の最も近い推測は次のようになりますが、何も返されないので、間違っていることはわかっています。

もう 1 つの複雑な点は、開始時刻がすべて DateTime オブジェクトとして格納されているため、既に固定の日付が含まれていることです。そのため、任意の日付の午後 6 時 30 分から午後 7 時 30 分の間に開始されたすべてのセッションを返したい場合は、別の方法を見つける必要があります。それも。サード パーティがデータの責任を負うため、データの構造や保存方法を変更することはできません。これらすべての複雑なクエリを実行する方法を理解する必要があるだけです。助けてください!


編集:

以下の Kenichi と Chuck Vose のアドバイスを組み合わせて、私が思いついた解決策を次に示します。

このソリューションを使用すると、複数の連続しない日付からセッションを返すか、日付にまったく依存せずに時間範囲内の任意のセッションを返すか、2 つのスコープを組み合わせて、それらの日付内の連続しない日付と時刻でフィルター処理できます。わーい!

私が見落としていた重要な点は、whereステートメントが最後に来なければならないということです。お二方、ご協力ありがとうございました!私は今より賢く感じます。

0 投票する
1 に答える
50 参照

javascript - 異なるスコープにまたがる関数へのアクセス

あるスコープで関数を定義し、別のスコープにアクセスしたいという次のシナリオを理解しようとしています。

helper.js と main.js という 2 つの異なる JavaScript ファイルがあり、どちらも自己呼び出し関数を持っています。

helper.js:

main.js:

最初に helper.js をページに含めてから main.js を含めると、これは Firefox、Safari、および Google Chrome で完全に機能します。ただし、IE8 では動作しません。

ここで私が間違っていることを誰かが指摘できますか?

グローバルスコープを汚さないように、自己呼び出し関数を書きました。この方向での助けは、私を大いに助けてくれます。

0 投票する
2 に答える
9161 参照

yii - yii のリレーションを参照してデフォルト スコープを適用する

yii のモデルにデフォルト スコープを適用する方法に関するドキュメントがあまり見つかりません。誰かが説明してくれたり、正しい方向に向けてくれるのではないかと思っていました。

私の質問の簡単なバージョン:

リレーションをデフォルト スコープに追加したり、モデルのすべての AR 検索にデフォルトで「with」基準を追加したりすることは可能ですか?

私の質問の長いバージョン:

私のアプリの簡単な要約:

私は2つのモデルを持っていproviderますitem. プロバイダーは多くのアイテムを持つことができますが、各アイテムは 1 つのプロバイダーしか持つことができない am:1 関係があります。

これまでのところ、次の関係があります。

私のアイテム モデル内では、すべてのオフライン アイテムを除外する defaultScope を既に取得しています (つまり、 に設定されているアイテムのみを表示しますoffline = false)。

私が今やりたいことは、プロバイダーがオフラインに設定されているアイテムを除外することです (つまりprovider.offline = false、現在の と並んでいるアイテムのみを表示しますitem.offline = false)。

私は defaultScope で providers テーブルに参加しようとしました:

ただし、JOIN は ON ステートメントの後に適用され、エラーが発生します ( CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'provider.offline' in 'on clause')。

また、defaultScope に with 基準を追加しようとしました。

しかし、同じエラーが発生します: SQLSTATE[42S22]: 列が見つかりません: 1054 不明な列 'provider.offline' in 'on clause'`).

助言がありますか?

0 投票する
1 に答える
543 参照

yii - スコープが使用中かどうかを検出する yii

スコープが yii の AR 検索で使用されているかどうかを検出する方法があるかどうか疑問に思っていましたか?

たとえば、モデルには 2 つのスコープが含まれる場合があります。

私はARを次のように呼んでいます:

これは非常に動的なサイトであり、2 つ以上のスコープがあり、使用されているものと使用されていないものがあります。別のスコープが使用されている場合に適用すべきではないスコープがいくつかあります。何百ものステートメントを避けるために、次のif elseようにすることはできますか?

0 投票する
1 に答える
115 参照

c# - 変数の有効範囲

重複の可能性:
ネストされたローカル スコープで重複した変数名を宣言できないのはなぜですか?

皆さん、今日、よくわからない問題を見つけました。

中括弧が新しいローカル領域を作成するため、次の例は正しいはずだと思いました。そのため、中括弧の後の最初の x にアクセスできず、右中括弧の後に同じ名前の新しい変数を作成できるはずです。

しかし、この例を試してみると、次のエラーが表示されます。他の何か。」

これは本当にC#では許可されていませんか? ReSharper 7.0 または Visual Studio 2012 の障害である可能性もあります。

悪いコーディング スタイルを考え出さないでください。これは、C# に関する私の基本的な理解にすぎません。

ありがとう、そして良い一日 ;)