2015-01-02 4 views
1

https://github.com/soveran/ohm#models 내에서 설명한 것처럼 모델 특성에 ID를 사용하여 배열을 설정하려고했지만 예외가 발생했습니다. 내 코드에서 무엇이 잘못 되었습니까?Ruby Ohm, 모델을 만들 때 정의되지 않은 메서드 예외 ID가 배열을 설정하는 중

모델

class Event < Ohm::Model 

attribute :title 
set :attendees, :User 

end 

테스트

이 작업을하고 그 방법은 오직 1 인자 소요 당신은 Set#add 방법을 사용할 필요가
@fran = User.create(name: "Fran", email: '[email protected]') 
@jose = User.create(name: "Jose", email: '[email protected]') 

event = Event.create(title: 'Party in Las Vegas', attendees: [@fran.id,@jose.id]) 

NoMethodError: undefined method `attendees=' for #<Event:0x000000020fb430> 
    /home/ciro/.rvm/gems/ruby-2.1.3/gems/ohm-2.0.1/lib/ohm.rb:1470:in `block in update_attributes' 
    /home/ciro/.rvm/gems/ruby-2.1.3/gems/ohm-2.0.1/lib/ohm.rb:1470:in `each' 
    /home/ciro/.rvm/gems/ruby-2.1.3/gems/ohm-2.0.1/lib/ohm.rb:1470:in `update_attributes' 
+0

오타가 있습니다. 일단 '참석자'와 '참석자'라고 쓰면 –

+0

"복사 - 붙여 넣기"에서 실수였습니다. 이제 게시물에 고정됩니다. 모델에는 "참석자"가 있으며 테스트도 있습니다. 나는 그것을 점검했다. 어떤 생각? –

답변

1

:

@fran = User.create(name: "Fran", email: '[email protected]') 
@jose = User.create(name: "Jose", email: '[email protected]') 

event = Event.create(title: 'Party in Las Vegas') 
event.attendees.add(@fran) 
event.attendees.add(@jose) 

이러한 의미하는 경우 협회가 되려고하면 collections