Comments (7)
+1 to this problem, also seen when migrating from Rails 3.2 to 4.2.
from acts_as_paranoid.
+ 1 from rails 3 to 4 migration
from acts_as_paranoid.
This should be fixed by now, can you confirm? <3
from acts_as_paranoid.
Unfortunately, I have moved on from that project and can't confirm it. Any chance one of the other commenters can check it easily?
from acts_as_paranoid.
I've also moved on from that project. We moved entirely away from this gem in the meantime:
https://github.com/popuparchive/pop-up-archive/blob/master/Gemfile#L90
from acts_as_paranoid.
I belive this was fixed by e8f7fbb and released in 0.5.0.beta2
.
If you're still having this issue please re-open the ticket.
Thank you!
from acts_as_paranoid.
I think this is a similar underlying issue but with accessing proxy_association
. This is also upgrading from Rails 3 to 4 (and AAP 0.4.5 -> 0.5.0):
# illustrative code only, loosely based on my situation
class User < ActiveRecord::Base
has_many :projects, through: :collaboratorships do
def owned
where('projects.owner_id = ?', proxy_association.owner.id)
end
def collaborated
where('projects.owner_id <> ?', proxy_association.owner.id)
end
end
end
# In Rails 3.2.22.5, with AAP 0.4.5:
user.projects.with_deleted.collaborated #=> [#<Project ...>, ...]
user.projects.collaborated.with_deleted #=> [#<Project ...>, ...]
# In Rails 4.0.13, with AAP 0.5.0:
user.projects.with_deleted.collaborated #=> NoMethodError: undefined local variable or method `proxy_association' for #<ActiveRecord::Relation []>
user.projects.collaborated.with_deleted #=> [#<Project ...>, ...]
I know these are all old and unmaintained versions of things so I'm not so much posting here with the expectation that it will be fixed, but for documentation purposes in case others run into it too. This GH issue seems the closest likely relative to my issue but was not fixed by e8f7fbb so probably distinct in cause.
In my case, as can be seen above, putting with_deleted
last resolves the issue for me. However, whatever scope is returned by with_deleted
loses its proxy context.
from acts_as_paranoid.
Related Issues (20)
- Behavior of destroy on associations does not match default ActiveRecord
- Setting `:double_tap_destroys_fully` should apply to methods on relations as well HOT 1
- Remove deprecated methods for the 0.8.0 release
- Association building broken with upgrade to 0.7.0 HOT 4
- FeatureRequest: Global default options configuration
- Calling delete then recover on the same object doesn't recover has_many/dependent relationships HOT 2
- Honor foreign key constraint violation HOT 2
- Release with Rails 7 support HOT 3
- Question: Skip recover functionality HOT 6
- Recover when junction table record exists rather than creating a new one
- recover! method raises validation error even if record is valid. Using recover works properly
- Possible conflict between acts_as_paranoid and newrelic_rpm
- with_deleted unscopes everything when joining through multiple associations HOT 3
- `only_deleted` doesn't work sometimes(?)
- How can I destroy models without destroying their ActiveStorage associations? HOT 4
- Why can not use like this User.first.update!(deleted_at: Time.now) HOT 1
- Add `with_deleted: true` for has_many relationships HOT 1
- The documentation for `column_type: 'boolean'`, allow_nulls option is incorrect
- getting FrozenError: can't modify frozen Array: when running specs HOT 8
- Paranoid join tables in through relationships do not work with with_deleted HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from acts_as_paranoid.