2011-11-27 4 views
1

최근에 datamapper를 orm으로 사용하는 오래된 merb 앱을 계승했습니다. 나는 DM에 너무 열세가 아니므로 아마도 내가 간과하고있는 명백한 것이있을 것입니다. 다음과 같이 나는, 필요하지 않은 두 모델 간의 간단한 관계를 가지고 :Datamapper 'belongs_to/n has ignoring : required => false

class User 
    include DataMapper::Resource 

    property :id,  Serial 
    property :name, String, :length => 100, :nullable => false 

    belongs_to :upload, :required => false 
end 

class Upload 
    include DataMapper::Resource 

    property :id,   Serial 
    property :filename,  String 

    has n, :users 
end 

을하지만 어떤 이유로 나를 첨부 업로드하지 않고 사용자를 저장할 수 없습니다 : 그냥

> u = User.create :name => 'foo' 
=> #<User @id=nil @name=nil @upload_id=nil> 
> s.errors.full_messages 
=> ["Upload must not be blank"] 

나는 "has n"면에서 required => false를 설정하려고 시도 했음에도 불구하고 물론 차이점이 없다. Merb는 1.0.13 및 datamapper에

이 모든 0.10.1


편집 : 당신은 추가 할 수 있습니다, 아래의 대답은 정확하지만 해결 방법을 찾았어요 : 널 (NULL) =>이 작업을하는 경우는 true를,

belongs_to :upload, :required => false, :nullable => true 

답변

2

이전에이 문제의 원인이었던 DM에 버그가있었습니다. 나는 최근 Rails & DM에이 응용 프로그램을 포팅하는 것이 좋습니다.

+0

머리를 주셔서 감사합니다. 나는 두려웠다 .. –