I've 2 classes with a has_and_belongs_to_many
relation.
When I try to destroy an object I get:
> undefined method `name' for nil:NilClass error.
I'm using Ruby 2.2.2. The same code works fine with Ruby 2.1.2.
My controller code:
@cart = Cart.find(1)
@cart.temp_orders.find(4).destroy
My models:
class Cart < ActiveRecord::Base
has_many :temp_orders
end
class TempOrder < ActiveRecord::Base
belongs_to :cart
has_and_belongs_to_many :kids, join_table: :kid_temp_orders
end
class Kid < ActiveRecord::Base
has_and_belongs_to_many :temp_orders
end
Stack trace:
> NoMethodError (undefined method `name' for nil:NilClass): app/controllers/carts_controller.rb:50:in `destroy'
> Rendered /home/dell/.rvm/gems/ruby-2.2.1/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/_source.erb (5.8ms)
> Rendered /home/dell/.rvm/gems/ruby-2.2.1/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (29.3ms)
> Rendered /home/dell/.rvm/gems/ruby-2.2.1/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (10.7ms
> Rendered /home/dell/.rvm/gems/ruby-2.2.1/gems/actionpack-4.1.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (123.5ms