возвращает false, если это не было сделано, то же самое с save
.save!
будет выдавать исключения, если вам это нравится больше.Я не уверен, есть ли update_attributes!
, но это было бы логично.
просто сделайте
if @foo.update_attributes(params)
# life is good
else
# something is wrong
end
http://apidock.com/rails/ActiveRecord/Base/update_attributes
Редактировать
Тогда вы хотите этот метод, который вы должны написать.Если вы хотите предварительно проверить параметры санации.
def params_are_sanitary?
# return true if and only if all our checks are met
# else return false
end
Редактировать 2
В качестве альтернативы, в зависимости от ваших ограничений
if Foo.new(params).valid? # Only works on Creates, not Updates
@foo.update_attributes(params)
else
# it won't be valid.
end