2012-06-27 48 views
0

我使用施普雷一个电子商务应用程序,我想验证SKU施普雷验证领域

Spree::Variant.class_eval do 
    attr_accessible :sku 
    validates_uniqueness_of :sku 
end 

那么的独特性,当我想创造一个新的纪录我得到这个错误:

undefined method `price' for nil:NilClass 
Extracted source (around line #7): 

4: <% content_for :sidebar do %> 
5: 
6: <h3> 
7: <%= @product.name %><span class="sku"><%= @product.sku %></span> 
8: </h3> 
9: <br class="clear"><ul class="sidebar product-menu" data-hook="admin_product_tabs"> 
10: <li <%== ' class="active"' if current == 'Product Details' %>> 

回答

1

将近一年后... 你需要写在模型中的自定义验证的是这样

validate :validate_sku, :on => :create 
private 
     def validate_sku 
     if Spree::Variant.exists?(:sku => sku) 
      errors.add(:sku, "SKU kod je již používán") 
     end 
    end