我正在使用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' %>>
答案 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