2015-04-23 3 views
2

У меня проблема с простой проверкой модели. Ввод материалов без SKU становится мне сообщение об ошибке:Ruby on Rails - проверка модели

NoMethodError в Материалы # создать неопределенный метод `пустой«? для ноля: NilClass

enter image description here material.rb:

class Material < ActiveRecord::Base 
    validates :sku, :presence => true 
end 

materials_controler.rb (создать только часть):

# POST /materials 
    # POST /materials.json 
    def create 
    @material = Material.new(material_params) 


    respond_to do |format| 
     if @material.save 
     format.html { redirect_to @material, notice: 'Material was successfully created.' } 
     format.json { render :show, status: :created, location: @material } 
     else 
     format.html { render :new } 
     format.json { render json: @material.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

ответ

1

Определение @units также в методе создания

3

Вашего @units переменной экземпляра в create действий nil. Вы должны установить его так же, как и в действиях new или edit после того, как ваши записи не пройдут проверку.

+0

я пропускал '@ categories' и' @ units'. Спасибо. – Robert

Смежные вопросы