問題タブ [service-object]
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 サービス オブジェクトとコントローラー
コントローラーをサービス オブジェクトに渡すのが好きな同僚がいます。たとえば、コントローラ メソッドは次のようになります。
サービス オブジェクトは次のようになります。
どういうわけか、これは逆効果であり、カーゴカルトのソフトウェア エンジニアリングの例であると感じています。
サービスオブジェクトをコントローラーから完全に分離したいです。依存関係はサービス オブジェクトのコンストラクターに渡され、パラメーターはメソッドの引数としてサービス オブジェクトに渡されます。結果はメソッドから単純に返されます。
悲しいことに、私がコード レビューでこの問題を持ち出すたびに、私の同僚はこれにまったく興奮していません。
それぞれのアプローチの長所と短所は何ですか? どうすれば自分の主張をうまく主張できますか? ここで何か不足していますか?
ruby-on-rails - Rails関連テーブルは更新されません
私は2つのモデルを持っています
インフルエンサーには、インフルエンサーの権限がたくさんあります
インフルエンサーにログインまたは署名しようとしています
しかし、古いユーザーがログインしようとすると、OAuth トークンが更新されません
Facebook コントローラー
Facebook クライアント
検査を保存する直前に、Oauth トークンがに設定されています@influencer.influencer_authorizations[0].oauth_token
ruby-on-rails - サービスオブジェクトのフォルダを整理するレール
AR モデルからいくつかのメソッドを抽出するサービス オブジェクトを作成しようとしていますproduct.rb
が、何らかの理由で新しいTwitterShare
クラスを自動ロードできません。コンソールを起動して、次のようなことを試みるとProduct.last.twitter_share_text
、NameError: uninitialized constant Product::TwitterShare
エラーが発生します。
ここで何が起こっているのですか?フォルダ/ファイルを整理するにはどうすればよいですか? Railsにサービスを自動ロードするように指示する必要がありますか? 現在のコードは次のとおりです。
アプリ/モデル/product.rb
アプリ/サービス/twitter_share.rb
ruby-on-rails - ヘルパー/サービスを使用するrails4とそれを配置する場所
twitter でシェアする商品属性の長さに基づいてテキストを組み立てるために、このクラスを作成しました。
私の質問:
- これは問題に取り組むための良いアプローチですか?これじゃないなら何?(クラスとメソッドをどこに置くべきか、どのように呼び出すかなど)
- これが良いアプローチである場合、何を変更する必要がありますか? たとえば、 は にある
def twitter_share_text
べきではないと感じていますproduct.rb
。
show.html.erb
product.rb
アプリ/サービス/twitter_product_share.rb
ruby-on-rails - ビューでサービス オブジェクトを設計する方法は?
前書き: サービス オブジェクトの概念を誤解している可能性があり、別の実装を設計する必要があります。前もって感謝します。
SMS 確認用のサービス オブジェクトを作成します。ユーザーは次の場合に自分の行動を確認する必要があります。
- 彼は電話番号を送信します (自分のプロフィールを更新します)。
- 彼は取引を確認します。
- 彼は他の重要な行動をとります。
コード:
profile_controller:
sms_confirmation_service:
render_view メソッドに固執しました。「Missing template profile/update」が表示されますが、ログによると、テンプレートは次のようにレンダリングされます。
それを解決する方法は?
design-patterns - サービス オブジェクト、トランザクション スクリプト、および戦略の設計パターンは同じですか?
Service Objectデザイン パターンの定義が見つかりませんでした。
トランザクション スクリプトの設計パターン
各プロシージャがプレゼンテーションからの 1 つの要求を処理するプロシージャごとにビジネス ロジックを編成します。
戦略設計パターン
アルゴリズムのファミリーを定義し、それぞれをカプセル化し、交換可能にします。戦略により、アルゴリズムは、それを使用するクライアントとは独立して変更できます。
それらは似ている/等しいですか?
ruby-on-rails - ステータスを返すサービス オブジェクト
コントローラーのアクションでサービス オブジェクトを使用する Rails json API を作成しており、適切な json をレンダリングする必要があるサービスで起こったことに基づいています。例は次のようになります。
star_service.rb
place_controller.rb
私の質問は、サービス オブジェクトからプレーン テキストを返すべきか、それともより良い方法があるかということです。