레일 4 애플리케이션에서 역할 기반 액세스 시스템을 구현하려고하고 있으며 최종 사용자 (super_admin)가 UI를 통해 역할 할당을 편집 할 수있게하려고합니다.Rolify and Rails 4 역할 관리
나는 약간의 성공을 거두었지만, 더 좋은 길을 찾아야한다고 생각합니다. 나는 다음과 사투를 벌인거야
= simple_form_for :roles, :url => create_user_roles_path(@user.id), :method => "post" do |f|
= f.input :name, :collection => @roles, as: :check_boxes
= f.button :submit
:
users_roles_controller.rb
# GET /user_roles/new/:id
def new
@roles = Role.all
end
# POST /user_roles/new/:id
def create
populated = params[:roles][:name].reject(&:empty?)
populated.each do |key|
@user.add_role Role.find(key).name
end
redirect_to users_path
end
그리고 내 양식에
(HAML 및 simple_form) : 여기 내 코드입니다 I 양식 항목을 확인하려면 어떻게- , 모델이 없기 때문에?
- 강력한 매개 변수를 사용해야합니까? 그렇다면 모델없이 양식에 구현하는 방법
- 현재 역할은 이미 선택되어 있지만 어떻게 비슷하게 만들 수 있습니까? (진정한 역할 관리)
업데이트 나는 의견에 의해 제안 된대로 개혁 보석을 사용하여 보았다. 이것은 훌륭한 해결책 인 것 같습니다. 그러나이 사건에 대한 구현에 문제가 있습니다.
내가 그것을지도 밖으로 보자
- 사용자
- users_roles : 내가 3 개 데이터베이스의 테이블이 있습니다 - (2 개 속성으로 매핑 테이블을 USER_ID & ROLE_ID는 {> HABTM 테이블에 참여})
- roles
역할 모델의 모든 값이있는 양식을 확인란으로 사용하고 싶습니다. 확인란을 통해 어떤 값이 입력되어야하는지 결정해야합니다. users_roles 테이블 (특정 사용자와 관련된). 제가 개혁을 원하는 것은이 양식의 입력을 확인하는 것입니다. 이 양식은 항상 역할의 모든 값을 표시하지만 일부 또는 전체 상자는 선택 취소 될 수 있습니다.
나는 내 응용 프로그램에서 양식 폴더를 만든 다음 코드로 시작 :
class UserRoleForm < Reform::Form
property :user__id, on: :user
property :role_id, on: :role
validates :user__id, presence: true
validates :role__id, presence: true
end
내가 올바른 방향으로가는 건가요?
도움 주셔서 감사합니다.
1. 테이블이없는 모델의 경우 [reform] (https://github.com/apotonick/reform)을 확인하십시오. –
감사합니다. @JustinM. 내 게시물에 대한 업데이트를 추가했습니다. 확실히 당신이 뭔가있는 것처럼 보입니다. – Herm