我的應用程序中有一個非常基本的API,它也有一個索引頁面以允許測試/演示各種API函數。Rails DRY機制將Flash消息呈現給JSON響應
由於此索引HTML頁面,所有函數都應該能夠以HTML(僅重新呈現帶有附加的Flash消息的索引頁)或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
什麼會人推薦至幹這個嗎?看起來,以某種方式構建Flash哈希中的JSON狀態對象會很好。
我正在考慮使用助手還是會有一些更優雅的東西,通過從JSON佈局解析閃存散列的邏輯?