問題タブ [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.

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

ruby-on-rails - Rails 4 アプリの Draper と RSpec および Factory Girl コントローラーの仕様

私は Draper を初めて使用していますが、私の仕様のほとんどを壊したという事実を除けば、うまく機能しています。例:

account_settings_controller_spec.rb を設定しています

これは以前はまったく問題なく機能していました(私はconfig.include FactoryGirl::Syntax::Methodsこのように工場を呼び出すように設定しました)

ただし、呼び出すと、 User モデルから UserDecorator に移動したメソッドをcreate :user取得します。undefined method 'full_name' for class 'User'

工場でも仕様でもfull_nameメソッドを使用しているため、これは奇妙です。

私は複数のことを試しました:

  • ApplicationController.new.set_current_view_contextbefore ブロック内 (エラーになります)
  • require 'draper/test/rspec_integration'私のspec_helper.rbに(何もしません)
  • 私の工場に追加before/after(:create) { |instance| instance.decorate }します(これも何もしません)

ここで何が欠けているのか、あるいはなぜエラーがスローされるのかさえわかりません。RSpec の起動時に私のデコレータが含まれていないのではないでしょうか?

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

ruby-on-rails - 同じテーブルを使用する一連のモデルのデコレータを作成するにはどうすればよいですか?

単一テーブル継承を介して同じテーブルをすべて使用するモデルの大規模なセットを持つRailsプロジェクトがあります。それらはすべて異なるタイプの組織です。

組織モデルから継承するすべてのモデルのデコレーターを作成する必要なく、draper gemを使用してモデルを単純化することは可能ですか?

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

ruby-on-rails - Draper によって装飾されるクラスを提供する

draper gem の 1.0 より前のバージョンでは、decorates装飾するクラスを明示的に指定するメソッドを使用できました (たとえば、クラスが名前空間化されている場合)。

現在 (draper 1.3)decoratesは、追加のパラメーターを受け入れません。しかし、:class オプションを省略するだけで、"uninitialized constant MyClass".

クラス名が draper によって自動的に推論されないクラスをどのように装飾しますか?

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

ruby-on-rails-4 - ドレーパー ジェネレーターの使用中にエラーが発生しました

ドレーパーの生成中に問題が発生しました。

私が使うときrails g draper:decorator user

私はこれを得た :Could not find generator draper:decorator.

  • draper を gem ファイルで取得し、bundle install しました。

助言がありますか ?

ありがとう、

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

ruby-on-rails - ビューの開始時に (Draper を使用して) オブジェクトを装飾することについて悪いことはありますか?

Draper は、コントローラ メソッドの最後でオブジェクトを装飾するか、代わりにそれらのdecorates_associatedメソッドを使用して自動的に装飾することを推奨しています

ビューが受け取るものを明示的に宣言するというアイデアが気に入っています (Rails の残りの部分はこのようには機能しませんが、それでもいい感じです)。したがって、コントローラーの最後ではなく、ビューの上部にあるオブジェクトを装飾することをお勧めします。

したがって、users#show でやりたいこと:

このようにユーザーコントローラーで装飾する代わりに

このように物事を行うことにはキャッシングの問題があると思いますが、それはいい感じです。何か足りない場合はどうすればよいですか?私が提案しているのは悪い習慣ですか?

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

ruby-on-rails - angularjsとjsonでRails draper gemを使用する

だから、私は人々がこのトピックについて踊っているのを見てきましたが、答えを見つけることができません. 「ドレーパー」ジェムをレールでインストールしました。それは素晴らしいですが、angularjsで使用できるようにしたいです。それを行う方法はありますか?それとも、angularjs で costum デコレータを作成する必要がありますか?これは、「ドレーパー」gem が役に立たないことを意味します。

私のhtmlは次のとおりです。

私のレールコントローラーは次のとおりです。

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

ruby-on-rails-4 - Draper が原因で text_field が誤った結果を出力する

ドレーパーを使用して、一部のビュー ロジックをクリーンアップしています。私はそのようないくつかのコードを持っています:

デコレーター:

形:

出力:

<input disabled="disabled" id="event_type_1_name" name="#<EventType:0x007f9db6df9cf0>[name]" type="text">

期待される出力:

<input value="Miscellaneous" disabled="disabled" id="event_type_1_name" name="event_type[name]" type="text">

ここで何が起こっているのか完全にはわかりません。誰でも助けを提供できますか?ドレーパーを使用し、テンプレートにロジックを含める前は、すべてが正常に機能していました。また、ルビーについてもあまり知らないので、明らかな何かが欠けている可能性があります。申し訳ありません!

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

ruby-on-rails - 装飾されたインスタンスの未定義のメソッド

ここにデコレータがあります

app/decorators/campaign_decorator.rb

私が呼び出すCampaignDecorator.custom_methodと、メソッドが見つかりません。CampaignDecorator.first.created_atフォーマットされていない日付も返します。

何が欠けているのか誰か教えてください。

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

ruby-on-rails - RailsのDraperデコレータからセッション変数にアクセスするには?

Decorator からセッション変数にアクセスできるようにしたい。今はそうすることができず、コントローラーのインスタンス変数にアクセスすることもできません@session_variable.

これを達成するためのきれいな方法はありますか?

ありがとう!