2012-06-06 1 views
1

레일즈 3와 Datamapper를 함께 사용하고 있으며, 다 대다 관계를 설정하는 경우를 제외하고는 모두 괜찮습니다.레일즈와 Datamapper ORM을 통한 관계 업데이트

나는 레일 컨트롤러를 통해 갱신 사용자에게 시도하고 경우에 나는 실행 PARAMS 내

@user.update(params[:user]) 

가 role_ids의 모음입니다. 그러나, 나는 통해 전달 나는 다음과 같은 메시지가 얻을 :

The attribute 'role_ids' is not accessible in User 

모델의 사용자 측면에서의 관계는 다음과 같습니다

has n, :roles, :through => Resource 

내가 문제가 여기에 무엇을 볼 수 있습니다 - 누구든지 도와 줄 수 있습니까?

답변

0

이것은 사용자 모델에 "role_ids"필드가 없음을 의미합니다. 이는 사용자 모델에 "resource_id"가있는 경우에 해당됩니다. 사용자 생성/수정 내에서 역할 생성/수정을 수락 할 양식이있는 경우 사용자에서 다음과 같이 선언해야합니다.

class User 
    accepts_nested_attributes_for :roles 
    attr_accessible :role_attributes