Я обновил Rails с 4.2.5.1 до 4.2.7.1, и теперь некоторые из моих тестов не проходят из-за активного изменения записи:
2) HotelShell all room types have default and english description
Failure/Error: @hotel_shell.save!
ActiveRecord::RecordInvalid:
Validation failed: %%Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid, %Room types %is invalid
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/validations.rb:79:in `raise_record_invalid'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/validations.rb:43:in `save!'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/transactions.rb:291:in `block in save!'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/transactions.rb:220:in `transaction'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
# /home/mshazad/.rvm/gems/ruby-2.3.3/gems/activerecord-4.2.7/lib/active_record/transactions.rb:291:in `save!'
# ./spec/factories/complete_factory_spec.rb:8:in `block (2 levels) in <top (required)>'
Кто-нибудь знает, что изменилось между двумя версиями ActiveRecord ичто мне нужно изменить в своем коде, чтобы соответствовать этому?
У меня были некоторые другие тесты, не выполненные из-за обновления, но проблема была исправлена путем указания более старой версии для этих драгоценных камней.К сожалению, я не могу сделать это для ActiveRecord из-за этой уязвимости:
SQL Injection General Rails 4.2.5.1 contains a SQL injection vulnerability (CVE-2016-6317). Upgrade to 4.2.7.1 near line 234 High