問題タブ [meta-where]

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 投票する
1 に答える
731 参照

ruby-on-rails - Ruby on Rails 3 - gem を使用した高度な検索

ローカル、Skype、および電話 (ブール値、「t」または「f」) と性別 (文字列、「男性」または「女性」) の列を持つユーザー モデルがあります。各ユーザーは、skill_id と方向 (文字列、「教える」または「学ぶ」のいずれか) を持つ関連付けられた SkillMap モデルで多くのスキルを持つことができます。

私は、MetaWhere、Squeel、RanSack をいじり回して、これらのユーザーを可能な限り適切に、最も読みやすく、最もレールに似た方法で検索できるものを見つけようとしています。誰かが私に最も適切な宝石を教えてくれますか?それを構築する方法についてのヒントを教えてください。

現在、検索が実行されるたびに、以下のようなオブジェクトが検索テーブルに作成されます (書式設定が不十分で申し訳ありません。これらのダッシュなしで配列を保存する方法がわかりません)。

したがって、この場合、skype または local フラグが true (phone = 'f' を無視) であり、性別フラグが「Male」であり、かつ、関連する skill_map が direction = 'Teach' および skill_id= であるユーザーを見つけたいと考えています。 795、かつ、direction = 'Learn' で skill_id が IN である skill_map を持っている (789,771,827)

それがより明確になるなら、私はSQLを書くことに挑戦することができますが、ひどいサブクエリを使用してそれを行う方法しか知りません(DBAはこの部分をスキップしたいかもしれません)

これらのフィールドのいずれかが空白または false の場合、それらを検索条件として含めたくありません。

とにかく、それは私の質問です。ご覧いただきありがとうございます。

乾杯、ヨナ

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

ruby-on-rails - MetaWherein_allおよびin_anyの適切な構文とユースケース

私はMetaWhereここ数日、の機能を調査してきました。ほとんどの述語は非常に単純ですが、私はとの使用方法に固執していin_allますin_any

これが私の試みのいくつかです:

私はそれらが想定されているか、ANDまたはORたくさんのIN条項があると思いますが、それらを適切に設定する方法を理解することも、まともなドキュメントを見つけることもできませんでした。そして、これらの述語が役立つ状況の例があれば、それもありがたいです。

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

ruby-on-rails - クエリからの Metawhere 抽象条件

Metawhere rails gem を使用してデータベースにクエリを実行しています。機能するクエリがあります:

今、次のようにクエリから条件を抽象化しようとしています:

しかし、最初の行は私に与えます:構文エラー、予期しないtASSOC、期待 ']

条件を文字列にして、クエリで eval(conditions) にするなど、多くのことを試しました。SyntaxError: (eval):1:in `irb_binding': compile error (eval):1: syntax error, unexpected ',', expected $end

私は立ち往生しています。あなたが私を助けることができれば、それはありがたいです.

ラトガー

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

ruby-on-rails - meta_search と meta_where gem

私は meta_search と meta_where gem.In 私のコントローラ ファイルを使用しています:

このコードを実行すると、このようなブラウザでエラーが発生します