I am using Hanami 1.1.0.beta1 (because I need associations).
An event can have many actions:
class EventRepository < Hanami::Repository
  associations do
    has_many :actions
    ...
  end
class ActionRepository < Hanami::Repository
  associations do
    ...
    belongs_to :event
  end
When I call this EventRepository method:
  def add_action(event, data)
    assoc(:actions, event).add(data)
  end
I get this error:
KeyError: key not found: :id # /home/eric/.gem/ruby/2.3.4/gems/hanami-model-1.1.0.beta1/lib/hanami/model/associations/has_many.rb:195:in `fetch' # /home/eric/.gem/ruby/2.3.4/gems/hanami-model-1.1.0.beta1/lib/hanami/model/associations/has_many.rb:195:in `_build_scope' # /home/eric/.gem/ruby/2.3.4/gems/hanami-model-1.1.0.beta1/lib/hanami/model/associations/has_many.rb:47:in `initialize' # /home/eric/.gem/ruby/2.3.4/gems/hanami-model-1.1.0.beta1/lib/hanami/model/association.rb:20:in `new' # /home/eric/.gem/ruby/2.3.4/gems/hanami-model-1.1.0.beta1/lib/hanami/model/association.rb:20:in `build' # /home/eric/.gem/ruby/2.3.4/gems/hanami-model-1.1.0.beta1/lib/hanami/repository.rb:472:in `assoc' ...
I looked in has_many.rb.  In initialize I see that subject is an Event object and it has an id:
HasMany::initialize - subject: #<Event:0x00558f3c198ce8 @id=705,
@attributes={:title=>"test_title"}>
but in _build_scope subject has changed to be just the attributes hash, hence the key not found: :id error.
HasMany::_build_scope - subject: {:title=>"test_title"}
which is weird because I don't see any place where subject is changed between initialize and _build_scope...
So is this a bug is 1.1.0.beta1, or am I doing something wrong?