2012-02-06 69 views
0

爲什麼在模型驗證不軌工作3.2.1

12.4kg 

雖然高度重視和不

編輯這個模型驗證

validates_format_of :weight, :with => /\A\d{1,3}\.\d{0,2}\Z/, :on => :create

匹配: 視圖形式

<%= form_for :new_client do |f| %> 
<% if @new_client.errors.any? %> 
    <div class="error_explanation"> 
     <h2><%= pluralize(@new_client.errors.count, "error") %> prohibited data from being send:</h2> 
     <ul> 
      <% @new_client.errors.full_messages.each do |msg| %> 
       <li><%= msg %></li> 
      <% end %> 
     </ul> 
    </div> 
<% end %> 

<div class="field"> 
    <%= f.label :weight %>   <%= f.text_field :weight %><br/> 
    <%= f.label :height %>   <%= f.text_field :height %><br/> 
</div> 
<div class="actions"> 
    <%= f.submit %> 
</div> 

我檢查所有的錯誤,我認爲,但重點是,體重不應該是有效的,應該會產生錯誤,但事實並非如此。

+0

正則表達式看起來不錯,字符串在rubular上不匹配:http://rubular.com/r/p6Dfw98Pjo ...你可以發佈你創建和保存模型的代碼嗎? – Baldrick 2012-02-06 15:39:20

+0

請刪除評論並修改您的帖子! – phoet 2012-02-06 18:33:24

回答

0

一個常見的錯誤是忘記顯示錯誤消息,特別是如果您在保存表單後顯示相同的表單。這個錯誤已經耗費我幾個小時的調試時間你認爲在你看來@model.errors

0

我發現了問題。 在我的遷移文件中,weight列是一個float而不是一個字符串。