Ruby on Rails Thursday, September 19, 2019

Furtherly refined:


```
def create
ActiveRecord::Base.transaction do
Banal::Brainstorm.class_eval do
default_scope lambda { with_deleted }
end

@comment = Comment.new(comment_params)

@comment.save!
redirect_to banal_brainstorms_path

Banal::Brainstorm.class_eval do
default_scope lambda { where id: (unscoped.pluck(:id) - only_deleted.pluck(:id)) }
end
end
end
```

On 19. Sep 2019, at 13:31, Manuel Korfmann <manu@korfmann.info> wrote:

Refinements didn't work when tested properly, so I ended up with this construct

```ruby
def create
Banal::Brainstorm.class_eval do
default_scope lambda { with_deleted }
end

@comment = Comment.new(comment_params)

@comment.save!
redirect_to banal_brainstorms_path

Banal::Brainstorm.class_eval do
default_scope lambda { without_deleted }
end
end
```

On 19. Sep 2019, at 13:02, Manuel Korfmann <manu@korfmann.info> wrote:


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/3b4e3ae7-ff53-461e-9b49-9a8189d66909%40googlegroups.com.


No comments:

Post a Comment