基本的なものが欠けているに違いありませんが、検証エラーが発生し続けます。
アプリ/モデル/人.rb
class Person < ActiveRecord::Base
attr_accessible :cell
before_validation :format_cell_string
validates :cell, :length => { :is => 10 }
protected
def format_cell_string
self.cell = self.cell.gsub!(/\D/, '') if self.cell != nil
end
end
レールcで
> bib = Person.new(cell: "1234567890")
> bib.save
ROLLBACK につながる
bib.errors
=> #<ActiveModel::Errors:0x007fcb3cf978d8 @base=#<Person id: nil, created_at: nil, updated_at: nil, cell: nil>, @messages={:cell=>["is the wrong length (should be 10 characters)"]}>
Railsコンソールまたはirbエラーである可能性があると考えて、私も自分のフォームで試してみましたが、役に立ちませんでした。、 bib.save bib = Person.new
、次に bib.update_attributes(cell: "0123456789") を試しても、コンソールでは機能しません。私は何かが足りないのですか!検証に関する Rails ドキュメントとモデル検証に関する Rails API を確認し、さまざまなことを試しました。何かご意見は?Rails 3.2.6 を使用していましたが、Rails 3.2.7 にアップグレードしました。変化なし。