タイプ列を持つユーザーモデルがあります(これはポリモーフィックアソシエーションと呼ばれると思います)。ユーザーは、従業員または雇用主の 2 つのタイプのいずれかになります。雇用主はプロジェクトを投稿できます。したがって、プロジェクトは雇用者に属し、雇用者は多くのプロジェクトを持っています。プロジェクトコントローラーに次のコードがあります。
def new
@project = Project.new
end
def create
project = current_user.project.build(project_params)
project.save
redirect_to project_path(project_params(:id))
end
def show
@project = Project.find(params(:id))
end
private
def project_params
params.require(:project).permit(:title, :category, :location, :budget, :description)
end
問題は、ブラウザで新しいフォームを送信しようとすると、次のように表示されることです。
undefined method `project' for #<Employer:0x007ffd85cf3250>
私は何度もレールでフォームを作りました。私が別の方法で行っているのは多形的な関連付けだけなので、問題はそれと関係があると思いますか? 誰にもアイデアはありますか?ありがとう。また、誰かがコメントした場合、私の show メソッドが間違っている可能性があると感じています。