File tree Expand file tree Collapse file tree 3 files changed +10
-0
lines changed Expand file tree Collapse file tree 3 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -288,6 +288,7 @@ def ignored_columns
288
288
# Sets the columns names the model should ignore. Ignored columns won't have attribute
289
289
# accessors defined, and won't be referenced in SQL queries.
290
290
def ignored_columns = ( columns )
291
+ reload_schema_from_cache
291
292
@ignored_columns = columns . map ( &:to_s )
292
293
end
293
294
Original file line number Diff line number Diff line change @@ -1503,6 +1503,10 @@ def test_default_values_are_deeply_dupped
1503
1503
assert_equal "Developer: name" , loaded_developer . name
1504
1504
end
1505
1505
1506
+ test "when assigning new ignored columns it invalidates cache for column names" do
1507
+ assert_not_includes ColumnNamesCachedDeveloper . column_names , "name"
1508
+ end
1509
+
1506
1510
test "ignored columns not included in SELECT" do
1507
1511
query = Developer . all . to_sql . downcase
1508
1512
Original file line number Diff line number Diff line change @@ -303,3 +303,8 @@ class AttributedDeveloper < ActiveRecord::Base
303
303
304
304
self . ignored_columns += [ "name" ]
305
305
end
306
+
307
+ class ColumnNamesCachedDeveloper < ActiveRecord ::Base
308
+ self . table_name = "developers"
309
+ self . ignored_columns += [ "name" ] if column_names . include? ( "name" )
310
+ end
You can’t perform that action at this time.
0 commit comments