問題タブ [mobility]

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

mobility - Mobility gem の更新

モビリティジェムを更新したいと思います。

v0.1.10 から v0.3.6 に更新する際に既知の問題や必要な手順はありますか? または、それ以上の手順を必要とせずに更新できますか?

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

ruby-on-rails - Mobilityを使用してRailsで翻訳された列で注文できません

この質問は、Mobility GitHub プロジェクトに投稿された問題に基づいています。

環境

  • レール: 5.0.6
  • Mobility : 0.4.2 (テーブル バックエンドあり)

複数の記事タイプ (ブログ投稿、ケース スタディ、ナレッジ ベース記事など) をサポートする記事テーブルを使用しています。このテーブルには、記事が表示された回数を追跡するための列 (記事showに対してアクションが呼び出されるたびに増加する整数列) が含まれています。

これらの記事の翻訳を実装する際に、メインの記事オブジェクトではなく、各翻訳のビュー数を個別に追跡したいと考えています。これを実現するためviewsに、オブジェクトの翻訳済みプロパティの 1 つとしてプロパティを含めました。

予想される行動

私のコントローラーでは、次のクエリで取得する、最も閲覧された記事のトップ 10 をリストしたいと考えています。

モビリティを実装する前と同様に、一連の記事を受け取ることを期待しています。

実際の動作

代わりに得られるのは#<Article::ActiveRecord_Relation:0x233686c>. それを で配列に変換しようとすると@top_articles.to_a、次のエラーが発生します。

含むようにクエリを変更しますi18n

… を返します#<#<Mobility::Backends::ActiveRecord::Table::QueryMethods:0x00000000050a86d8>:0x286c3e0>。それを配列に変換しようとすると、同じ結果が得られます。

Mobility は句での翻訳済みフィールドの使用をサポートしていますが、現在、アクティブ レコード クエリwhereの句ではそれらをサポートしていません。order

回避策の試み

order1.節で翻訳表を参照する

gem の作成者からのフィードバックに基づいて、次のクエリを試しました。

#<#<Mobility::Backends::ActiveRecord::Table::QueryMethods>>オブジェクトを返し、次のto_aエラーを返します。

joins2. 変換テーブルにorincludes句を追加します

#<#<Mobility::Backends::ActiveRecord::Table::QueryMethods>>このクエリもオブジェクトを返し、to_a結果は次のようになります。

3.has_many :article_translationsモデルに追加

モデルにリレーションを追加すると、次のエラーがスローされます。

それで…</h2>

次に何を試せばいいですか?