問題タブ [rabl]

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

ruby-on-rails - Rails 2.3.2 から Rails 2.3.14 へのアップグレード

私は、かなり大規模なレガシー Rails 2.3.2 アプリの責任を負っています。JSON でデータを出力するかなり複雑な RESTful API をこのアプリに追加するよう依頼されました。

調査を行った結果、API 呼び出しの性質を考えると、RABL gem を使用することがおそらく最善の計画であるという結論に達しました。ただし、RABL の依存関係には ActiveSupport 2.3.14 が必要です。

ここで、ActiveSupport 2.3.2 と ActiveSupport 2.3.14 の両方を同じアプリで動作させることはできないと仮定します。私の理解が正しければ、ActiveSupport をアップグレードすると、残りの Rails パッケージを次のようにアップグレードする必要があります。依存関係の要件によります。

Rails 2.3.2 と Rails 2.3.14 の違い、または既存の機能の一部を壊す可能性があるかどうかをある程度理解できるように、その情報がどこにあるか教えてもらえますか?

あるいは、Rails の 2 つのバージョンに重大な違いがある場合、RABL に代わるものを推奨できる人はいますか? 私は Jsonify、JBuilder、Tequila など、他のかなりの数を見てきましたが、RABL は、他の一部のようにコントローラーではなく、ビューを介して応答を構築するという点で非常に魅力的です。

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

rspec - Rails 3.2.8 + FactoryGirl + RABL: datetime が返される方法の違い

私は次の工場を持っています:

そして次の仕様:

これで、body の内部にあるものと FactoryGirl (location_params) からのものの :created_at フィールドと :updated_at フィールドの間の比較を除いて、すべてが期待どおりに機能します (しゃれた意図はありません)。

仕様を実行すると返されるエラーは次のとおりです。

ご覧のとおり、応答の created_at と updated_at の両方が、FactoryGirl によって返されるものとは異なる方法で表現されています。

ここで明らかに欠けているのは何ですか?

よろしくお願いいたします。

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

ruby-on-rails - Rails3とRablを使用してJSONをHTMLに埋め込む

私は#322 RailsCastsをフォローしていますが、最後の部分で彼はjsonをhtmlに埋め込む方法についてコメントしています。

私のプロジェクトには、rablテンプレートがあります:app / views / Places / show.json.rabl

/places/21.jsonをレンダリングすると、次のように表示されます。

うまく機能していますが、jsonデータをhtmlに埋め込もうとすると、次のようになります。

エラーログ

{:locale => [:en]、:formats => [:html]、:handlers => [:erb、:builder、:coffee、:rabl]}のテンプレートplaces/21.jsonがありません。検索対象:* "/ home / ed / projects / rails_projects / final_u / app / views"

私は何を間違っていますか?

アップデート

私はちょうど解決策を見つけました

そしてそれは動作しますが、理由はわかりません..そしてここに別の質問があります

単一のオブジェクトをrender(template: "")に渡す方法がありますか?

よろしくお願いします....そして私の英語をごめんなさい

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

ruby-on-rails - RoR 3のrender(:template => "template.json.rabl")にオブジェクトを渡す

jsonをhtmlに埋め込む必要があり、#322RailsCastsでRABL使用してそれを行う方法を説明しています...

これが私のrablテンプレートです

正常に動作していますが、次のような他のビューでrabl-templateをレンダリングしたいと思います。

次のメッセージエラーが表示されます

nil:NilClassの未定義のメソッド `type_place'

メッセージから、エラーはオブジェクトの場所をテンプレートに渡していないことだと思います...私は多くのことを試みましたが、これを取得できませんでした。

よろしくお願いします。英語でごめんなさい

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

ruby-on-rails - API用のRabl、Jbuilder、または手動のjsonビルド?

大規模なアプリケーション用の API をビルドするには、パフォーマンスの観点からどの方法が優れているか、Rabl を使用するか、Jbuilder を使用するか、json オブジェクトを手動でビルドする必要がありますか?モバイル アプリ用の API /エンドポイントをビルドしています。

0 投票する
0 に答える
167 参照

ruby-on-rails - サーバー側のハンドルバーで RABL テンプレートを使用する

Rails プロジェクトでは、クライアント側とサーバー側の両方のテンプレートにハンドルバー (sht_rails を使用) を使用します。クライアント側のテンプレートをフィードするには、JSON データを提供する RABL テンプレートを使用します。サーバー側で同じデータを持つ同じテンプレートを使用したいのですが、サーバー側のテンプレートには JSON 文字列ではなくハッシュが必要です。

一時的な解決策として、render_to_stringJSON データを生成してJSON.parseからハッシュを取得するために使用しますが、見栄えが悪いようです... RABL テンプレートを使用してハッシュをレンダリングするためのより良い方法はありますか?

github で説明されている解決策を試しましたが、成功しませんでした。in out テンプレートを使用object falseしているため、 に何を渡せばよいかわかりませんRabl::Renderer#new。さらに、いくつかの RoR 固有のメソッド ( などroot_url) を使用していますが、それらは失敗しているようです。

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

ruby-on-rails - RABLは、ActiveRecordのタイムスタンプまたは日時を文字列ではなく数値としてレンダリングします

私は現在、as_jsonAPI生成のためにActiveRecordからRABLに切り替える過程にあります。

as_json私のモデルのタイムスタンプをフォーマットの文字列としてレンダリングしています2012-09-16T22:14:11+00:00。ただし、RABLに切り替えると、タイムスタンプは次のようなエポック番号としてレンダリングを開始しました1347926218.084763000(これらの日付は2つの異なるオブジェクトからのものであり、同じではないことに注意してください)。文字列形式を強制する方法はありますか?

私の.rablテンプレートは非常に単純です。

そして私は得る:

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

ruby-on-rails - Rabl を Erb json ビューに変換します

私はこの .json.rabl ビューを .json.erb に変換しようとしていますが、ルビーが初めてなので、これを達成するための方向性を探しています。これについて最善の方法は何ですか?

p>

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

ruby-on-rails - Rabl 1+N クエリとビューの読み込みが遅い

次のような構造で、ネストされた子を持つRailsアクションによって強化されたRablビューがあります。

つまり、rabl ビューは次のようになります。

Rabl が新しいクエリを実行して、各バー オブジェクトと各 baz オブジェクト (最大 7 つの baz オブジェクトがあります) をロードするという事実を除いて、これは素晴らしく機能します。元のコレクションを生成するクエリは 100 ミリ秒未満で返されますが、合計レンダリング時間は 8 秒以上かかり、fooレコードごとに約 30 の追加クエリが含まれます。関連する行をプリロードする構文を使用してincludes、Rabl がそれらを再ロードする必要がないようにしてみましたが、送信された情報を無視しているようです。

この操作を最適化して、可能な限り最高のパフォーマンスを得る方法についてのアイデアを探しています。ここから攻撃する正しい方法が本当に何であるかはよくわかりません。

前もって感謝します。

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

ruby-on-rails - jsonオブジェクトのrablwrapコレクション

私はRABLを使用してJSON応答を生成しています。次の構造を実現するのに問題があります。

メディア配列を含む@articesオブジェクトがあります。私は次のようなrablconfigセットアップを持っています:

これまでの私の.rablテンプレートは次のようになります。

この構造内にメディア情報を追加できません。

助けていただければ幸いです