0
我有一個自定義錯誤類是這樣的:極品紅寶石錯誤消息作爲實例變量
class EntityCrudError < StandardError
attr_reader :action
attr_reader :modelName
attr_reader :entity
attr_reader :errors
def initialize(action, model, entity = nil)
@action = action
@model = model
@entity = entity
@errors = entity.respond_to?(:errors) ? entity.errors : nil
end
end
我在西納特拉Web應用程序使用。當錯誤發生時我發送此對象JSON格式的一個實例:
myError.to_json
此to_json
方法是ActiveSupport implementation。
但是,該消息不在JSON對象中,因爲它不是實例變量。我需要在我的JSON對象中的消息。我有兩個想法要做到這一點,但他們都沒有工作......
- 請在郵件中
initialize
一個實例變量,但它似乎並不還不存在。 - 合併消息到JSON對象中,但我不知道如何合併它。
哪一個都是最好的,我該如何實現它?
什麼是缺少調用的屬性? myError.message? – 2013-05-08 08:11:35
@MatthewGraves是的,但'.message'是一個返回它的函數。這就是錯誤在Ruby中工作的方式。 – MarioDS 2013-05-08 08:12:56
感謝您的寶貴經驗。 – 2013-05-08 08:15:35