0

私の読書から、ヘルパーはビュー用であるように見えます。問題は、REST サービスの準備が整うまで、醜いハードコードされた JSON をコントローラーからビューに戻したいということです。したがって、もちろんコントローラーでハードコードすることもできますが、そのハードコードされたものでコントローラーを汚染せず、何らかの方法でヘルパーに記述し、代わりにコントローラーでそのヘルパーメソッドを呼び出すよりクリーンな方法があるかどうか疑問に思っていました。

それで、あなたはそのために何を提案しますか?

4

2 に答える 2

4

データの場合は、代わりにダミー モデルを作成できます。

# app/models/ugly_fugly.rb
class UglyFugly
  def self.fetch
    { foo: 'bar' }
  end

  # or if you want it as a string, you could do:
  { foo: 'bar' }.to_json
end

次に、コントローラーでそれを取得します。

def index
  @uglies = UglyFugly.fetch
end

そして最高の部分は、これが簡単にリファクタリングでき、簡単にハックできることです。そして、Rails 風味の MVC に実際に準拠しています。

于 2013-08-21T17:55:16.853 に答える
1

新しいファイルでヘルパー メソッドを作成し、次のようにコントローラーに含めることができます。

your_helper.rb

module YourHelper
  def json_code
    #logic
  end
end

your_controller.rb

class YouController < ApplicationController
  include YourHelper
end
于 2013-08-21T17:59:36.323 に答える