2013-04-13 2 views
0

개발자가 Devise, cancan 및 역할 모델을 사용하는 것으로 밝혀진 일부 연구를 수행 한 후 루비에 새로운 것이지만 프로젝트를 만들려고합니다. 나는 많은 행운을 가지지 않고 있고, 내가 이것을하기 위해 갈 수있는 약간의 원조 또는 가이드 n에 정말로 바르게 평가할 것이다!Ruby 사용자가 특정 특정 사용자 만 특정 부분을 편집 할 수있게하는 게시물을 만들 수 있도록 허용합니다.

기본적으로 나는 스포츠 코치/선수가 등록 할 수있는 사이트를 만들고자하는데, 코치는 선택한 주간 지역에서만 일정한 시간에 채우기를 할 수있는 다른 주간 프로그램을 설정할 수 있습니다. 코치가 쓴 것. 그 중 코치는 운동 선수가 그것을 채운 후 그 주에 보고서를 인쇄 할 수 있습니다.

저는 devise, cancan 및 rolemodel을 설치했으며 기본 설정은 http://www.phase2technology.com/blog/authentication-permissions-and-roles-in-rails-with-devise-cancan-and-role-model/입니다. 나는 선수들을 "운동 선수"로 서명하고 코치가 특정 운동 선수 (운동 선수)를 선택하여 훈련 프로그램을 할당 할 수있게하는 "코치"로 코치 할 수 있습니다.

감사합니다. 감사합니다.

답변

0

다른 모델을 기반으로하는 모델을 사용합니다. 사용자 모델에서 Devise를 섞어서 사용한다고 가정 해 보겠습니다. 그러면 사용자로부터 상속 된 운동 선수 및 코치 모델을 만들 수 있습니다.

보기에서 등록을 위해 새 필드를 추가하기 만하면됩니다 (예 : 두 모델을 선택하는 라디오 버튼). 이것은 Devise의 기본 컨벤션을 약간 변경해야하지만, 2 가지 모델을 개별적으로 구현하는 데 많은 시간을 절약 할 것입니다.

+0

감사합니다. Konrad, 전 해줄 것입니다! 새로운 장치 모델을 만드는 것은 '레일 G 모델 코치'입니까 ?? – user2278385

+1

또한 '그룹'모델을 만들고 "코치"와 "운동 선수"의 값을 가진 그룹에 코치를 "선수"라는 값으로 할당 할 수 있습니다. 그룹 접근성을 기반으로 액세스를 제한하는 것이 쉽습니다 (사용자가 그룹 코치의 구성원 인 경우 ABC를 수행 할 수있는 능력이 있고, 사용자가 DEF를 할 수있는 능력을 가진 그룹 운동 선수의 구성원 인 경우). 그리고 그룹 내에서 역할을 다듬을 수 있습니다. .. – phron

+0

phron - 앞으로 더 많은 그룹을 만들 계획이라면 좋은 생각입니다. 다른 경우에는 "type"이라는 열을 사용하고 "athlete"또는 "coach"중 하나를 넣을 수도 있습니다. 그러나 이것은 STI 이상입니다. – konole

관련 문제