1

: 양식이 새 특성 외에도 이미로드 된 특성을 작성 중입니다. 어떻게 첫 번째 특성을 무시합니까? 내 응용 프로그램 사용자에

  1. 가 서명 관리자 사용자를하고 해당 사용자가 역할 (별도의 모델)를 가지고, 그럼 내가 특정 영역에 대한 액세스 권한을 부여하기 위해 declarative_authorization 플러그인을 사용합니다.

  2. admin 사용자도 시스템에 새로운 사용자를 등록 할 수 있습니다.이 사용자는 Authlogic을 사용하여 새 사용자의 역할을 포함하는 중첩 된 양식을 작성합니다.

은 그래서 일어나고있는 것은 관리자 사용자의 역할은 declarative_authorization에 의해로드 된 후 has_many_nested_attributes를 사용하여 중첩 된 형태로드입니다 (새 사용자의 새로운 역할뿐만 아니라 역할을 기존 사용자 수 많은 역할을 함).

새로운 사용자가 current_user에 할당 된 역할을 무시하고 새 사용자를위한 양식으로 만 역할을 생성하도록 만들 수 있음을 알 수있는 방법이 있습니까?

많은 다른 것들을 살펴 봤지만 중첩 된 특성이라는 것이 더 복잡해 보입니다.

미리 감사드립니다.

답변

0

새 사용자를 만들 때 새 역할을 만드시겠습니까? 새로운 사용자에게 새로운 역할을 여러 개 만드는 대신 특정 역할에만 새 사용자를 할당합니다.

보기에이 시도 : 대신 Roles.all의

collection_select :user,"role_ids[]", Roles.all, :id, :name, {}, {:multiple=>true} 

을, 당신은 또한 "관리자"역할을 제외

Roles.find(:conditions=>"role_name IS NOT 'admin'") 

사용할 수 있습니다.