У меня была та же проблема, которая вызвала некоторые проблемы, так как приложение, над которым я работаю, имеет глобальные всплывающие сообщения с сообщениями об ошибках, таких как 404 при вызовах ajax.
В этом случае я сделал этот патч,Вы, конечно, можете сделать больше.Например, было бы неплохо изменить работу javascript, но этот «обезьяний патч» - это наименьшее изменение, которое я могу внести в код, и при этом получить необходимую функциональность.Обратите внимание, что HTTP 204 используется, потому что гем ClientSideValidations ожидает, что все ответы HTTP 200 (в частности, 200) будут ошибочными ответами проверки, и поэтому не могут быть повторно использованы без изменения javascript.
app / config / initializers / client_side_validations.rb
ClientSideValidations::Config.disabled_validators = []
# Monkey Patch
# Guranatee uniqueness middleware is fully loaded
::ClientSideValidations::Middleware::Uniqueness
module ClientSideValidations
module Middleware
class Uniqueness
def response
begin
if unique?
self.status = 204 # changed from 404
self.body = '' # changed from true
else
self.status = 200
self.body = 'false'
end
rescue NotValidatable
self.status = 500
self.body = ''
end
super
end
end
end
end