問題タブ [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 - 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_context
before ブロック内 (エラーになります)require 'draper/test/rspec_integration'
私のspec_helper.rbに(何もしません)- 私の工場に追加
before/after(:create) { |instance| instance.decorate }
します(これも何もしません)
ここで何が欠けているのか、あるいはなぜエラーがスローされるのかさえわかりません。RSpec の起動時に私のデコレータが含まれていないのではないでしょうか?
ruby-on-rails - 同じテーブルを使用する一連のモデルのデコレータを作成するにはどうすればよいですか?
単一テーブル継承を介して同じテーブルをすべて使用するモデルの大規模なセットを持つRailsプロジェクトがあります。それらはすべて異なるタイプの組織です。
組織モデルから継承するすべてのモデルのデコレーターを作成する必要なく、draper gemを使用してモデルを単純化することは可能ですか?
ruby-on-rails - Draper によって装飾されるクラスを提供する
draper gem の 1.0 より前のバージョンでは、decorates
装飾するクラスを明示的に指定するメソッドを使用できました (たとえば、クラスが名前空間化されている場合)。
現在 (draper 1.3)decorates
は、追加のパラメーターを受け入れません。しかし、:class オプションを省略するだけで、"uninitialized constant MyClass"
.
クラス名が draper によって自動的に推論されないクラスをどのように装飾しますか?
ruby-on-rails-4 - ドレーパー ジェネレーターの使用中にエラーが発生しました
ドレーパーの生成中に問題が発生しました。
私が使うときrails g draper:decorator user
私はこれを得た :Could not find generator draper:decorator.
- draper を gem ファイルで取得し、bundle install しました。
助言がありますか ?
ありがとう、
ruby-on-rails - ビューの開始時に (Draper を使用して) オブジェクトを装飾することについて悪いことはありますか?
Draper は、コントローラ メソッドの最後でオブジェクトを装飾するか、代わりにそれらのdecorates_associated
メソッドを使用して自動的に装飾することを推奨しています。
ビューが受け取るものを明示的に宣言するというアイデアが気に入っています (Rails の残りの部分はこのようには機能しませんが、それでもいい感じです)。したがって、コントローラーの最後ではなく、ビューの上部にあるオブジェクトを装飾することをお勧めします。
したがって、users#show でやりたいこと:
このようにユーザーコントローラーで装飾する代わりに
このように物事を行うことにはキャッシングの問題があると思いますが、それはいい感じです。何か足りない場合はどうすればよいですか?私が提案しているのは悪い習慣ですか?
ruby-on-rails - angularjsとjsonでRails draper gemを使用する
だから、私は人々がこのトピックについて踊っているのを見てきましたが、答えを見つけることができません. 「ドレーパー」ジェムをレールでインストールしました。それは素晴らしいですが、angularjsで使用できるようにしたいです。それを行う方法はありますか?それとも、angularjs で costum デコレータを作成する必要がありますか?これは、「ドレーパー」gem が役に立たないことを意味します。
私のhtmlは次のとおりです。
私のレールコントローラーは次のとおりです。
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">
ここで何が起こっているのか完全にはわかりません。誰でも助けを提供できますか?ドレーパーを使用し、テンプレートにロジックを含める前は、すべてが正常に機能していました。また、ルビーについてもあまり知らないので、明らかな何かが欠けている可能性があります。申し訳ありません!
ruby-on-rails - 装飾されたインスタンスの未定義のメソッド
ここにデコレータがあります
app/decorators/campaign_decorator.rb
私が呼び出すCampaignDecorator.custom_method
と、メソッドが見つかりません。CampaignDecorator.first.created_at
フォーマットされていない日付も返します。
何が欠けているのか誰か教えてください。
ruby-on-rails - RailsのDraperデコレータからセッション変数にアクセスするには?
Decorator からセッション変数にアクセスできるようにしたい。今はそうすることができず、コントローラーのインスタンス変数にアクセスすることもできません@session_variable
.
これを達成するためのきれいな方法はありますか?
ありがとう!