0
私は2つのモデルを持っています:ユーザーと雇用者。ユーザーには雇用主が1人あります。私は認可のために専門家を使用しています。 has_one関係では、私はどのように新しいアクションを作成し、アクションを作成しますか?理想的には、ユーザーがすでにフォームを提出している場合でも、フォームには行かないことがあります。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:1の関係)。 – spickermann
@ Cyzanfar。私は、ユーザーが新しい雇用主様のフォームに行って1回だけ提出したいと思っています。 – danielsmith1789