2013-09-27 3 views
1

, 내가 가진 레일 - 재귀 사용자 모델 관계 모델 협회 내 사용자 모델에서

belongs_to :admin_creator, foreign_key: :created_by_user_id, class_name: "User" 

와의

내 내가 가진 컨트롤러 액션을 만들 ... 난 내 코드를 개주 어떻게

def create 
    @user = User.new(user_create_params) 
    @user.created_by_user_id = current_user.id 
    @user.status_code = 'P' #set status code to pending 

    begin 
     @user.save! 
     render json: "User #{@user.email} added", status: :created 
    rescue StandardError => e 
     render json: @user.errors.full_messages, status: :unprocessable_entity 
    end 

    end 

admin_creator가 될 "current_user"에 대한 모델 연결을 사용 하시겠습니까?

작성 조치가 호출되면 current_user는 다른 (하위) 사용자 계정을 추가하는 현재 admin 사용자입니다. 그럼 당신을

has_many :admin_children, foreign_key: :created_by_user_id, class_name: "User" 

: 나는이 같은 has_manyUser 모델을 추가 ... @user = current_user.users.build의 선 (user_create_params) 또는 유사한

+0

내가 당신의 질문을 이해할 수 없다, 당신은 정성 들여질 수 있냐? –

+0

내 질문이 업데이트되었습니다. 마지막 단락을보십시오. – user1322092

답변

1

함께 할 것입니다 생각 해요 할 수있다 :

current_user.admin_children.create(user_create_params) 
+0

와우, 그거 빠르 네 !! 매력처럼 일했습니다. – user1322092

+0

위의 내용과 관련이 없지만 동일한 출처 -이 게시물에서 모델 데이터를 저장할 때 모범 사례에 관한 질문을했습니다. http://stackoverflow.com/questions/19042063/rails-which-is-a-better-approach- 저축 모델 업데이트 – user1322092

+0

좋은 질문입니다,저기서 저의 답을 올렸습니다. –