狂欢验证字段

时间:2012-06-27 23:01:33

标签: ruby-on-rails spree

我正在使用Spree进行电子商务应用,我正在尝试验证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 个答案:

答案 0 :(得分: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