Fix MissingAttributeError in ClosetHanger#merge_quantities
Oh rough, when moving an item list entry from one list to another, our logic to merge their quantities if it's already in that list was just fully crashing! That is, moves without anything to merge were working, but moves that required a merge were raising Internal Server Error 500, because the `list_id` attribute wasn't present. I'm not sure why this ever worked, I'm assuming using `list_id` in the `where` condition would include it in the `select` implicitly in a previous version of Rails? Or maybe Rails used to have fallback behavior to run a second query, instead of raising `MissingAttributeError` like it does now? Well, in any case, this seems to fix it! Whew!
This commit is contained in:
parent
d8b3f613e3
commit
522287ed53
1 changed files with 1 additions and 1 deletions
|
@ -203,7 +203,7 @@ class ClosetHanger < ApplicationRecord
|
||||||
# hanger. Select enough for our logic and to update flex_source.
|
# hanger. Select enough for our logic and to update flex_source.
|
||||||
# TODO: We deleted flex, does this reduce what data we need here?
|
# TODO: We deleted flex, does this reduce what data we need here?
|
||||||
conflicting_hanger = self.class.select([:id, :quantity, :user_id, :item_id,
|
conflicting_hanger = self.class.select([:id, :quantity, :user_id, :item_id,
|
||||||
:owned]).
|
:owned, :list_id]).
|
||||||
where(:user_id => user_id, :item_id => item_id, :owned => owned,
|
where(:user_id => user_id, :item_id => item_id, :owned => owned,
|
||||||
:list_id => list_id).where(['id != ?', self.id]).first
|
:list_id => list_id).where(['id != ?', self.id]).first
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue