tôi đã tạo ra một mô-đun tùy chỉnh (hiện chỉ định nghĩa một lớp ngoại lệ mới), và đặt nó dưới lib/lib_th.rb
Xác định ngoại lệ tùy chỉnh trong một mô-đun trong Rails
module LibTH
module Error
IDNotFound = Class.new
end
end
Tôi không cần phải yêu cầu/bao gồm mô-đun trong mã của tôi, vì nó sẽ được tải tự động, vì nó tuân theo các quy tắc đặt tên thông thường.
Nhưng khi tôi cố gắng và nâng cao IDNotFound
ngoại lệ đâu đó trong mã của tôi:
res.size == 0 ? raise LibTH::Error::IDNotFound : res
tôi nhận được lỗi follwoing:
SyntaxError (/Users/lrnz/code/ruby/corinna/app/models/treasure_hunt.rb:49: syntax error, unexpected tCONSTANT, expecting kDO or '{' or '('
res.size == 0 ? raise LibTH::Error::IDNotFound : res
^
/Users/lrnz/code/ruby/corinna/app/models/treasure_hunt.rb:49: syntax error, unexpected ':'
res.size == 0 ? raise LibTH::Error::IDNotFound : res
^):
app/controllers/treasure_hunts_controller.rb:50:in `show'
Điều kỳ lạ là tôi gặp phải không có vấn đề cố gắng để nâng cao ngoại lệ trong script/console
:
>> raise LibTH::Error::IDNotFound
LibTH::Error::IDNotFound: LibTH::Error::IDNotFound
from (irb):70
Tha nks!