問題タブ [searchlogic]

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 に答える
633 参照

ruby-on-rails - Railsで単純なソート/検索を実装する最良の方法

Rails でこのようなインターフェイスを実装する最良の方法は何ですか?

インターフェイスの例

現在、私は Searchlogic を使用していますが、少し面倒です。問題は次のとおりです。

  • 特定の操作が直交していることを確認します。たとえば、「短い投稿」を選択して検索した場合、検索結果は短い投稿に制限する必要があります。

  • 正しいリンクが「選択された」クラスを取得するようにします。現在、リンクは<a>であるため、クライアント側でこの状態を維持するのは困難です。たとえば、並べ替えに対する AJAX 応答で、正しいリンクが「選択された」新しい並べ替えリンク セクションが返されるようにすることで、ハッキングしています。タグの代わりにラジオ ボタンを使用<a>すると、クライアント側で状態を維持しやすくなります。

0 投票する
3 に答える
2203 参照

sql - Rails/AR は、habtm が含まれていない場所を見つけます

ユーザーと各ユーザー HABTM ロールを含む Rails アプリがあります。

特定のロールを持たないユーザーを選択したい。検索ロジックを自由に使用できますが、道に迷っています。条件と結合とインクルードの組み合わせを使用してみましたが、それを釘付けにすることはできません。これは機能します:

管理者ではないが、役割のないユーザーを見つけられないユーザーを見つけるため (これも見つけたい)。

疲れた状態で欠けている単純なことは何ですか?

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

ruby-on-rails - サーチロジック + STI

STI との関連付けを使用する検索ロジック検索を実装しようとしていますが、STI レコードをサブクラスではなく親として選択するという問題があります。

例:

「ようなアーティストエージェント会社」を検索すると、エージェントとしてではなくユーザーとしてのエージェントに基づいて検索されます。

select * from users WHERE users.company LIKE

それよりも

select * from users AS agents WHERE agents.company LIKE

ActiveRecord クラス レベルでこの問題を回避できるかどうか疑問に思っています (たとえば、アソシエーションでは、エージェントが :as=>:agent またはそれらの行に沿ってロードされることを指定できるかどうかを考えていました)、または検索ロジックにパッチを当てる必要があるか、これを達成するために他に何ができるか.

私が思いついたもう 1 つのオプションは、ユーザーの代理店のリストを含むフィールドをユーザー テーブルに追加することです。例 users.agencies => エージェンシー 1 の名前、エージェンシー 2 の名前

0 投票する
5 に答える
5313 参照

ruby-on-rails - 2 つの名前付きスコープを OR (AND ではなく) で結合する

Annotations体が次のいずれかであるすべてを見つけたい:

  • に等しい "?"
  • また
  • お気に入り "[?]"

これを行う最善の方法は何ですか?

可能であれば SearchLogicを使用したいのですが、SearchLogic では次のことを行うことができます。

  • Annotation.body_equals('?')
  • Annotation.body_like('[?]')

そして、いつでもそれらを連鎖させることができます:Annotation.body_equals('?').body_like('[?]')

それらを と組み合わせる方法がわかりませんOR

引数が同じOR 場合、名前付きスコープを組み合わせることができることに注意してください。たとえば、次のことができます。

しかし、これは役に立ちません。

私は SearchLogic に執着していませんが、その抽象化を破る必要のないソリューションには最適です。

0 投票する
3 に答える
552 参照

sql - 結合テーブルにキーを持たないすべてのレコードと、一致するキーを持つすべてのレコードに対する単一のクエリ

私は多くの居住者がいる旅行をしています。居住情報が指定されていないすべての旅行を返す単一のクエリが必要です。指定された居住地に一致するすべての旅行。

このクエリから最初のものを取得できます。

しかし、2 番目を取得するには、次のビットも追加する必要があります。

WHERE 句の前に結合を追加すると、居住者 ID があり、居住者 ID がない結果が求められます。それは明らかに何も返しません。では、1 つのクエリで完全な結果セットを取得するには、これをどのように記述すればよいでしょうか? これでは、ストアド プロシージャは許可されていません。

私はRailsを使用しているので、答えがRails固有のものであればボーナスです(ただし必須ではありません)。そして、誰かが searchlogic プラグインでこれを行う方法を示すことができれば、大きなボーナスです。

現在、名前付きスコープとして最初の要件があります。

2 番目の要件は、searchlogic から入手できます。

理想的な解決策は、次のような searchlogic スコープです。

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

ruby-on-rails - will_paginate での searchlogic の使用

編集all私はそれを理解したように見えます-私はSearchlogicへの呼び出しの後に paginate を呼び出さなければなりませんでした。

これらのツールの両方を使用して、ユーザーが連絡先を検索し、ページ分割されたリスト (または検索条件を入力しない場合はページ分割されたリスト全体) を返せるようにしようとしています。ただし、それらをチェーンする適切な方法がわからないため、エラーが発生しています。

これが私のコントローラーです:

これにより、エラーが発生しますUndefined method 'all' for WillPaginatecontact_contact_contact..._pathおそらくデフォルトの「ページあたり」が20であるため、ビューは「連絡先」という単語を20回含むパスを探しているため、すべてを削除するとエラーが発生します。

私は何を間違っていますか?このページで検索、順序付け、ページネーションをすべて行いたいと思います。

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

ruby-on-rails - 1つのコントローラーからの複数のモデルでSearchlogicを使用する

Searchlogicを複数のモデルでどの程度正確に使用できますか?3つのモデルからデータを取得してグリッド(テーブル)に表示するダッシュボードがあります。これら3つすべての並べ替えと検索を許可したいのですが、Searchlogicはパラメーター名として「検索」を使用するように要求しているようです。次のようなことをします:

コントローラ内および:

レコードを並べ替えようとしても、ビューでは何も起こりません。それらの1つを正常に機能するように変更しますparams[:search]が、この状況に必要なものではありません。

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

ruby-on-rails - globalize2で検索ロジック?

モデルがあるとします:

そしてsearchlogicがプラグインされている場合、次のように動作することを期待しています:

残念ながら、そうではありません:

仕事をする方法はありますか?


PS私がなんとかうまくいったのは、次のとおりです。

これは見栄えがよくありません。

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

ruby-on-rails - Rails:または条件を使用したsearchlogic検索

Rails2.3.4とともにバージョン2.3.5の「binarylogic-searchlogic」gemを使用しています。

私がやりたいのは、複数の属性に対して指定された値をモデルで検索することです。私はこれを次のようにすべてを連鎖させることで達成します

しかし、この検索で​​属性が増えると、これは醜い傾向があります。代わりに、次のようなsearchlogicの検索メカニズムを使用したいと思います。

つまり、これはANDを介して検索する方法ですが、私が欲しいのはORです。これを実現する方法は2つありますが、どちらも機能しません。

1つ目:条件の前にor_を追加します

これは私に与えますThe or_last_name_like is not a valid condition. You may only use conditions that map to a named scope

2つ目:使用search.any

undefined method#`に'を与えてくれます。

何かアイデアはありますか?READMEの正しいポイントを見逃していますか?

どうもありがとうございました!

編集:いくつかの醜い回避策の時間:

動作しますが、確かに行く方法ではありませんね。