Изменения ActiveRecord в Rails Upgrade с 4.2.5.1 до 4.2.7.1 - PullRequest
0 голосов
/ 03 декабря 2018

Я обновил 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
...