Я не думаю, что есть способ для этого, я просто обезьяна исправлю Hash
класс
EDIT
@ Ответ Стефана должен быть принятым.
presence_in
в Rails - это исправление обезьяны классом Object (гораздо хуже, чем просто исправление обезьяны только классом Hash
, но я думаю, что исправление обезьяны - это нормально для людей, которые отказались от голосования, если Rails делает это)
EDIT
Все знают (на самом деле они не знают, почему, но они где-то слышали), что исправление обезьян - плохая практика, но это явно лучше, чем делать hash.slice(:some_long_key_not_in_hash).keys.first
или hash[:some_long_key] ? :some_long_key : nil
повсюду
class Hash
def return_key_if_exists?(key)
self.key?(key) ? key : nil
end
end