Ошибка с ассоциациями Hanami has_many (в 1.1.0.beta1)
Я использую Hanami 1.1.0.beta1
(потому что мне нужны ассоциации).
event
может иметь много actions
:
class EventRepository < Hanami::Repository
associations do
has_many :actions
...
end
class ActionRepository < Hanami::Repository
associations do
...
belongs_to :event
end
Когда я это называю EventRepository
метод:
def add_action(event, data)
assoc(:actions, event).add(data)
end
Я получаю эту ошибку:
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' ...
Я посмотрел в has_many.rb. В initialize
я вижу это subject
является Event
объект, и у него есть id
:HasMany::initialize - subject: #<Event:0x00558f3c198ce8 @id=705,
@attributes={:title=>"test_title"}>
но в _build_scope
subject
изменился, чтобы быть просто attributes
хэш, отсюда key not found: :id
ошибка.
HasMany:: _ build_scope - subject: {: title => "test_title"}
что странно, потому что я не вижу места, где subject
меняется между initialize
а также _build_scope
...
Так это ошибка 1.1.0.beta1, или я что-то не так делаю?