Я сталкиваюсь со странным поведением в реализации модели rails3.
Итак, у меня есть простая модель:
class MyModel < ActiveRecord::Base
validates_format_of :val, :with => /^\d+$/, :message => 'Must be an integer value.'
end
Тогда простой контроллер:
def create
@mod = MyModel.new(params[:my_model])
if @mod.save
...
end
end
сначала params[:my_model].inspect
возвращает:
{:val => 'coucou :)'}
Но после звонка @mod = MyModel.new(params[:my_model])
...
Теперь, если я позвоню @mod.val.inspect
, я получу:
0
Почему я не получаю исходную строку?
В конце проверки успешны, потому что val
действительно целое число ...
Это потому, что val
определено как целое число в базе данных?
Как мне избежать такого поведения и позволить проверке выполнить свою работу?
Спасибо:)