私のアプリには非常に基本的なAPIがあり、さまざまなAPI関数のテスト/デモンストレーションを可能にするインデックスページもあります。
このインデックスHTMLページにより、すべての関数はHTML(フラッシュメッセージが添付されたインデックスページを再レンダリングするだけ)またはJSON(単純なステータス/メッセージオブジェクトを返すだけ)のいずれかで応答できる必要があります。
現在、各関数は次のようになっています...
def do_stuff
if params['stuff']
begin
Helper.do_stuff params['stuff']
rescue Exception => ex
msg = ex.message
status = 'error'
flash[:error] = msg
else
msg = 'Stuff done'
status = 'success'
flash[:success] = msg
end
else
msg = 'No stuff provided'
status = 'error'
flash[:error] = msg
end
respond_to do |format|
format.html { render 'api/index' }
format.json do
render json: {:status => status, :message => msg}
end
end
end
これを乾かすために人々は何を勧めますか?どういうわけかフラッシュハッシュからJSONステータスオブジェクトを構築するのが良いようです。
ヘルパーを使用することを考えていますか、それともJSONレイアウトからフラッシュハッシュを解析するロジックを使用することで、よりエレガントなものがあるでしょうか?