У меня есть оператор validate_on_create в одном из моих контроллеров, который я хотел бы пропустить все мои данные семени. Каковы некоторые решения, так что инструкция create в моем файле семени пропускает эту проверку. Мое текущее решение комментирует валидацию каждый раз, когда я запускаю rake db: seed. Что-нибудь еще более умное?Ruby on Rails: утверждение «validate_on_create» для семян
ответ
Вы рассматривали добавление атрибута в модели, которая проверяется в методе validate_on_create?
Пример:
class MyModel < ActiveRecord::Base
attr_accessor :skip_on_create_validation
def validate_on_create
unless skip_on_create_validation
# do validation
end
end
end
# In db/seeds.rb
MyModel.create(:skip_on_create_validation => true, ......)
Вы можете пропустить проверки, позвонив по вашим model.save(false)
, если вы не загружаете их через приспособления.
Но я использую функцию в файле семян создать. Вы предлагаете, чтобы я этого не делал? – JackCA
поэтому вместо 'create' использовать функцию 'build' –
это Rails 3, и это для создания одного объекта не несколько. –
Вы можете явно пропустить все проверки при сохранении объекта, вызвав object.save(false)
.
Например:
# In your model
def validate_on_create
# An example validation - replace with whatever you like
return true unless name.blank?
end
# In db/seeds.rb
# Create a new person
p = Person.new(:name => 'Bob')
# Save the record to the database, and *skip validation*
p.save(false)
Я знаю об этом, но я бы хотел использовать его с помощью 'Model.create' вместо' Model.save (false) ' –
Невозможно пропустить проверки при вызове' object.create'. Почему бы просто не вызвать 'object.save (false)'? – nfm
потому что я создаю много таких объектов: 'models = Model.create ([{: name =>" Имя "}, {: name =>" Второе имя "}])' –
- 1. Ошибка файла семян в Ruby on Rails
- 2. Ruby On Rails: способ создания разных файлов семян для сред
- 3. Rails 3 & validate_on_create
- 4. Rails светильники против семян
- 5. «WebControls» для Ruby on Rails
- 6. CMS для Ruby on Rails
- 7. RESTful для Ruby on Rails
- 8. rhotoalbum для ruby on rails
- 9. Ruby on Rails для Javascript
- 10. BBCode для Ruby on Rails
- 11. Песочницы для Ruby on Rails
- 12. Intellisense для Ruby, Ruby on Rails, Python
- 13. Ruby vs. Ruby On Rails
- 14. Ruby On Rails on eHost
- 15. Curl on Ruby on Rails
- 16. Ruby on Rails, Resque
- 17. Ruby on Rails Authentication
- 18. Изучение Ruby on Rails
- 19. Использование Ruby on Rails
- 20. Настройка Ruby on rails
- 21. Ruby On Rails --api
- 22. Ruby on Rails Calculations
- 23. ActiveRecordNotFound Ruby On Rails
- 24. Расширение Ruby On Rails?
- 25. Ruby On Rails медленный ...?
- 26. Ruby on Rails routes.rb
- 27. Ruby on Rails Newbie
- 28. Bcrypt ruby on rails
- 29. Ruby on Rails Concurrency
- 30. Ruby on Rails: Подклассы
Есть ли Rails 4 эквивалент этого? Я думаю, что 'validate_on_create' устарел, не так ли? –