問題タブ [jbuilder]

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

ruby-on-rails - JBuilder と Rails でこの JSON 構造を作成するにはどうすればよいですか?

TL;DR: jbuilder を使用して、このような JSON を作成するにはどうすればよいですか?

より長いバージョン:

Backbone.js と backbone-pageable https://github.com/wyuenho/backbone-pageableでページネーションを機能させようとしています。

Backbone-pageable では、返される JSON が 2 つのオブジェクトの配列になるようにフォーマットする必要があります。最初のオブジェクトは、ページネーション制御情報を含む通常のオブジェクトです。2 番目のオブジェクトは、Backbone が通常期待するようにフォーマットされた実際のデータの配列である必要があります。これらの期待は、backbone-pageable の解析メソッドにハードコーディングされています ( source )

似ていないアイテムの配列を持つのは奇妙に思えますが、このユースケースでは許容できるようです。

json には過去に rabl を使用しましたが、科学には jbuilder を使用しようとしており、ここまで来ました...

JSON 構造 (間違っています):

このコードの使用:

より近いですが、それでも非常に間違っています:/

ありがとうございました

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

ruby-on-rails - JBuilder で複数のモデルを組み合わせるには?

私が必要とする構造は次のとおりです。

JBuilder でこの構造を構築するにはどうすればよいですか? レンダー配列の場合、配列があります! 1 つの引数 (コレクション) を受け入れるメソッド。しかし、私は複数のコレクションを持っています。なぜそんなに複雑なのですか?

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

ruby-on-rails - Rails jbuilder DateTimeで小数を秒に追加する

JBuilder を使用して、アプリケーションの JSON API 部分のビューをレンダリングしています。私が直面している問題は、DateTimes が次のようにレンダリングされていることです。

"2013-07-02T17:03:18.000Z"

...私が本当に欲しいのはこれです:

"2013-07-02T17:03:18Z"

これらの小数がどこから来ているのかわかりません...

典型的な JBuilder の方法でフィールドをレンダリングしています。

アプリに日付形式初期化子があります。

ただし、これは JBuilder に影響を与えないようで、これは良いことです。API から取得した ISO8601 形式が必要です。ちなみに、私は Rails 4.0.0 final を使用しています。

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

ruby-on-rails - jBuilder でカスタム配列を作成する

jBuilder を使用して、javascript 関数に必要な構造であるカスタム配列を作成しようとしています。この場合、配列内のオブジェクトは 1 つだけです。メソッドは認識してarray!いますが、コレクションを使用する必要があります。jbuilder にオブジェクトを配列でラップさせるにはどうすればよいですか? 私が探している構造を以下に示します。

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

ruby-on-rails - jbuilderビューでnullの代わりに空の文字列を返す方法は?

シンプルなjbuilderビューがあります

いつpharmaceutic.dosage => nil

私のレンダリングされたjsonは以下のようになります:

nilすべての jBuilder ビューに対して、一部の属性が空の文字列としてレンダリングされるように設定したいと思います。

それを達成する方法は?

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

ruby-on-rails - モデル属性の JBuilder 動的キー

バリエーション コードを介して製品のバリエーションにアクセスするための JSON ファイルを作成しようとしています。理想的には、variations.abcdefgh を呼び出して、基本的に次のような構造を定義するように求めることができます。

products/show.json.jbuilder で何かをする

次のようにフォーマットできます:

私の JavaScript の方が良いかもしれませんが、product_code に基づいてもう少しアクセスしやすいものが必要です。私が得た最も近いものは

しかし、これらの正しくフォーマットされたオブジェクトを子としてバリエーション属性に入れるソリューションをまだ見つけていません。誰かが前に似たようなことに出くわしましたか?

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

ruby-on-rails-3.2 - 既存/空の配列への追加

現在のユーザーの受信トレイ メッセージを返す次のコントローラー アクションがあります (メールボックスを使用しています)。

これにより、jbuilder が起動する json 応答がレンダリングされます。

application_controller で宣言されたヘルパー メソッドである current_user から構築された最後の 3 つの json 値に注意してください。ここで 2 つの質問があります。

1) この種の機能はありますが、current_user の値を配列から切り離した方がよいでしょう。それらを単にブロックの外に移動すると、次のエラーが発生します。

TypeError (文字列を整数に変換できません)

2) current_user の受信トレイに会話がない場合、配列は空になり (@conversations は空白)、current_user の値は渡されません。

要約すると、 current_user 値を既存の配列に追加したり、 current_user 値を空の配列に追加したりできますか?

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

heroku - Heroku で Dalli を使用した Jbuilder のフラグメント キャッシング

ビューの 1 つがレンダリングにかなりの時間を要しているため、Jbuilder でフラグメント キャッシングを使用しようとしています (ビューのレンダリングのみが 2500 ミリ秒以上かかる場合があります)。

これは他の呼び出しでは機能しますが、これは機能していないようで、その理由がわかりません。2番目:これは私のローカルマシンでは機能しますが、herokuでは失敗します。

heroku のエラーは次のとおりです。

フラグメントキャッシュを使用しようとした単純な部分は次のとおりです。

そして製品部分:

  • app_style パーシャルはどこでも使用され、他のキャッシュされたビューで機能することに注意してください