問題タブ [draper]
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.
ruby-on-rails - Draper Decorator からパーシャルをレンダリングする
文字列またはコレクションを返すデコレータがあります。
私の見解では、このデコレータ メソッドの戻り値を表示したいと考えています。
私の見解では、文字列の場合は文字列をレンダリングするか、コレクションをレンダリングします。
残念ながら、render
内のメソッドにアクセスできませんDraper::Decorator
。考え?
ruby - Draper デコレータでコンテキストを検証することは可能ですか?
私は新しい仕事でデコレータを使い始めましたが、とても役に立っています。私は、デコレータの 1 つの仕様を書いているところですが、これが可能かどうか疑問に思っていました...
セットアップ (簡素化されたバージョン):
2 人の子を持つメイン オブジェクトがあります。
Main が装飾されると、B も装飾されますが、 A をコンテキストとして渡す必要があります。A は B のデコレータ メソッドのいくつかに使用されますが、上記のように A を B から分離する方がより理にかなっています。
時折、B を単独で (Main を経由せずに) 装飾し、過去にコンテキストとして A を渡すのを忘れていました。常にキャッチしていますが、打ち続けるのは厄介な問題です。
質問:
A が B のデコレータでコンテキストとして渡されていることを検証することは可能ですか? デコレーターバリデーターはありますか?
(A を B の子にすることを検討しましたが、これは私たちのアプリケーションにはあまり意味がありません。うまくいくことに同意しますが、それは私たちが望んでいるものではありません。)
ruby-on-rails - 親オブジェクト ビューの関係オブジェクトを部分的に装飾する
オブジェクトの装飾に Draper を使用しています。
has_one horse というモデルが「開始」されています。馬モードからリファクタリングした boy_or_girl メソッドを持つ馬デコレーターがあります。
boy_or_girl メソッドにないメソッドを取得しています。関連する馬を飾るにはどうすればよいですか?
ruby-on-rails - メソッドで form_for を使用した Draper
form_for を吐き出す draper デコレーターでメソッドを作成しようとしています。インデックス ビューでレコードを検索するために使用しているフォームがあり、数十のリソースがあるため、可能であればこのロジックを 1 か所 (アプリケーション デコレータ) に維持したいと考えています。私の問題は、デコレータで form_for をレンダリングする方法がわからないことです。concat と capture を使用してこれを達成しようとしましたが、運がありませんでした。私が取得できたのは、表示する div のカップルだけです (html としてではなく、プレーン テキストとして)。どうすればこれを行うことができるかについてのアイデアはありますか? これは私が持っているコードです:
そして私の見解では...
どんな助けでも大歓迎です!
参考までに、私はすでにこれをパーシャルに入れましたが、これは機能しますが、これに追加する必要があるより複雑なロジックがあり、リソースごとに異なるため、パーシャルは私にとって理想的ではありません.
ありがとう
ruby-on-rails - Draper で許可されたメソッドを確認する新しい方法は?
最近、Draper gem を 1.2.1 にアップグレードしました。以前は、次の方法で許可されているフィールドを確認していました。
どうやら "allows" はデリゲートになったようですが、"allows" とは何ですか?
ruby-on-rails - .each を使用してビュー コードをデコレータにリファクタリングする
draper gem を使用して、ビュー コードをデコレータに移動する方法を学んでいます。.each をデコレータに移動する方法がわかりません。
私は次のことを試しました:
コードを表示:
デコレータ コード:
結果は、私が探している first_name last_name ボタンではなく、ユーザー ハッシュ全体です。多分 .each はデコレータに属していませんか? どんな助けでも大歓迎です。
ruby-on-rails - Draper で装飾された public_activity gem
Draper を使用して public_activity gem によって作成されたアクティビティのコレクションを装飾しようとしています。
ただし、PublicActivity::Activity は ActiveRecord から継承されていないようです (私はそれを想定していますか?) のでinclude Draper::Decoratable
、モデルに追加する必要がありますが、PublicActivity モデルは正確にはどこにあるのでしょうか?
ところで、これは私が得ているエラーです:
Could not infer a decorator for PublicActivity::Activity.
ruby-on-rails-4 - 未定義のメソッド エラー draper gem
私は draper gem を使用しようとしていますが、設定は問題ないように見えますが、draper メソッド内でメソッドを呼び出すと、「未定義のメソッド エラー」が発生します。
私のデコレーターには、次のコードがあります。
私のコントローラーで
私の見解
ブラウザで実行すると、次のエラーが表示されます
何が問題なのですか?