1
我想確保二進制字段始終具有價值。我添加了如下所示的驗證代碼。如何使用Ruby on Rails驗證二進制字段?
class Foo < ActiveRecord::Base
validates :b, presence: true
end
但是,更改似乎會導致錯誤。
$ rails c
> Foo.create(b:File.read('b.jpg'))
ArgumentError: invalid byte sequence in UTF-8
該錯誤並不總是顯示。只有當二進制數據具有非ASCII代碼時。
我如何驗證二進制領域?
我做了如下的環境。圖像文件(b.jpg,小於16KB)也是需要的。
$ rails --version
Rails 4.2.0
$ rails new test_binary --database=mysql
$ cd test_binary/
$ rails g model foo b:binary
$ rake db:create db:migrate
或者使用'File.binread('b.jpeg')' – huocp
謝謝!兩人都工作。 – yosei