1
我有一个多态地址模型,我用了几种形式。我在那个模型中做了简单的验证,但它不起作用。我究竟做错了什么?验证多态关联
地址型号
class Address < ActiveRecord::Base
attr_accessible :street1, :street2, :city, state, :zip
belongs_to :addressable, :polymorphic => true
validates_length_of :state, :maximun => 2, :too_long => "Field State is to long"
validates_numericality_of :zip, :on => :create, :message => "Zip Code must be numeric!"
validates_length_of :zip, :within => 5..9, :too_long => "Zip Code to long.", :too_short => "Zip Code to short"
end
Location Model
class Location < ActiveRecord::Base
has_one :address, :as => :addressable, :dependent => :destroy
belongs_to :account
accepts_nested_attributes_for :address
validates_presence_of :name
validates_length_of :name, :maximum =>80
end
位置编辑表单 - 例如
<% form_for [@account, @location] do |f| %>
<table>
<%= render :partial => 'form', :locals => {:f => f} %>
</table>
<%= f.submit("Update") %>
<% end %>
感谢您的帮助。 Ed
没有错误。当我创建或更新它不验证。例如在邮政领域,我可以键入字母,它仍然保存记录没有任何错误。 – user724120 2011-04-27 15:11:00
尝试在地址has_one关系中添加:validate => true到位置模型 – iwiznia 2011-04-27 16:27:08