--- /dev/null
+class FixUsersCustomValues < ActiveRecord::Migration
+ def self.up
+ CustomValue.update_all("customized_type = 'Principal'", "customized_type = 'User'")
+ end
+
+ def self.down
+ CustomValue.update_all("customized_type = 'User'", "customized_type = 'Principal'")
+ end
+end
id: 7
value: Stable
custom_values_001:
- customized_type: User
+ customized_type: Principal
custom_field_id: 4
customized_id: 3
id: 1
value: ""
custom_values_002:
- customized_type: User
+ customized_type: Principal
custom_field_id: 4
customized_id: 4
id: 2
value: 01 23 45 67 89
custom_values_003:
- customized_type: User
+ customized_type: Principal
custom_field_id: 4
customized_id: 2
id: 3
require File.dirname(__FILE__) + '/../test_helper'
class CustomValueTest < ActiveSupport::TestCase
- fixtures :custom_fields
+ fixtures :custom_fields, :custom_values, :users
def test_string_field_validation_with_blank_value
f = CustomField.new(:field_format => 'string')
v = CustomValue.new(:custom_field => field, :value => 'Not empty')
assert_equal 'Not empty', v.value
end
+
+ def test_sti_polymorphic_association
+ # Rails uses top level sti class for polymorphic association. See #3978.
+ assert !User.find(4).custom_values.empty?
+ assert !CustomValue.find(2).customized.nil?
+ end
end