У меня есть пара моделей в моем приложении, которые включают расширенные проверки ActiveRecord для обеспечения качества данных, но, поскольку они требуют большого количества пользовательского ввода, я также позволяю пользователям быстро создавать записи, вводя только часть информации, обычно необходимой для полного создания.

Есть ли способ обойти ряд проверок, когда я делаю «быстрое создание»?

До этого момента я выполнял @project.save(:validate=>false) и выполнял необходимые проверки вручную в действии контроллера, но это неуклюже и создает избыточный код. Как мне это сделать?

0
sscirrus 16 Дек 2011 в 03:50
Посмотрите этот сообщение, я думаю, это то, что вы ищете.
 – 
klaffenboeck
16 Дек 2011 в 03:56

1 ответ

Следующий фрагмент заимствован из другого post и немного изменен:

class Project < ActiveRecord::Base
  validates_uniqueness_of :project, :unless => :quick_create
  attr_accessor :quick_create
end

Следующий фрагмент переходит в ваше представление

<%= submit_tag 'Submit', :name => 'project[quick_create]' %>

Вся логика в вашей модели, вы вообще не трогаете свой контроллер.

0
Community 23 Май 2017 в 14:48