0
두 가지 모델이 있습니다 : 사용자와 고용주. 사용자에게는 한 명의 고용주가 있습니다. 나는 범 학자를 권한 부여에 사용하고 있습니다. has_one 관계를 통해 새 작업을 만들고 작업을 만드는 방법은 무엇입니까? 이상적으로 사용자는 이미 양식을 제출 한 경우에도 양식에 갈 수 없습니다.단 하나 관계가있는 전문가
def new
unless current_user.employer.present?
@employer = Employer.new
else
flash[:error] = "Record already exists"
redirect_back(fallback_location: current_user)
end
end
을하지만 학자에 뭔가를 선호하는 것 :
나는 컨트롤러에서이 작업을 수행 할 수있다.
class EmployerPolicy < ApplicationPolicy
def create?
# Do I check is the @user has an employer before submission?
end
def new?
# Or do I check if the @user has a record before they get here?
end
end
어떤 통찰력도 인정 될 것입니다. 고맙습니다.
정확히 어떤 권한을 부여 하시겠습니까/예방하고 싶습니까? – Cyzanfar
'has_one' 관계 (반대의'belongs_to')가 올바른 선택입니까? 한 사용자가 고용주에 있고 고용주가 사용자에게 속해 있습니다 (단지 1 : 1 관계). – spickermann
@ Cyzanfar. 나는 사용자에게 새로운 고용주 양식을 제출하고 한 번만 제출하기를 원합니다. – danielsmith1789