나는 비계 생성기를 사용하여 만든 ProTip
모델을 가지고 있습니다. index
및 show
을 제외한 모든 작업에는 관리자 권한이 필요합니다.두 개의 다른 컨트롤러에서 모델을 만드는 방법
사용자가 자신의 ProTip
을 제출할 수는 있지만 다른 사용자가 승인 할 때까지 대기열에 저장하도록 허용하고 싶습니다.
나는이 작업을 수행하는 몇 가지 방법을 생각할 수 있습니다
가
ProTip
과 같은 필드가UserSubmittedProTip
에 대한 전혀 다른 모델을 만듭니다.index
,new
및create
작업으로 새UserSubmittedProTipController
을 새로 만듭니다.create
작업에서 새로운ProTip
을 만들고 데이터베이스에 저장하기 전에UserSubmittedProTip
에서 속성을 복사 할 수 있습니다. 내가index
작업에 대한 관리자를 요구할 수 있으며 승인을 수행하는 데 사용할 수 있습니다.SubmitController
을new
및create
동작으로 만 새로 만듭니다. 어떤 식 으로든ProTip
의_form
부분을 공유하지만 제출할 컨트롤러를 알고있는보기를 만듭니다.create
작업에서 저장하기 전에ProTip.approved
을false
으로 설정할 수 있습니다. 그런 다음 승인을위한 메커니즘을 만들어야합니다.
첫 번째 방법은 두 번째 구현 방법을 모르기 때문에 가장 쉬운 방법입니다. 두 가지 방법 모두 조금 어색함을 느낍니다.이 문제에 대해 가장 좋은 방법이 무엇인지 궁금합니다.
이 문제를 해결할 수있는 유일한 두 가지 방법이 있습니까? 그렇지 않으면 무엇이 더 똑똑할까요? 그렇지 않으면, 어느 모범 사례에 가깝거나 둘 다 눈부신 잘못입니까?
Perfect. 자세한 답장을 보내 주셔서 감사합니다. 때로는 레일을 사용하여 한 걸음 뒤로 물러나서 보통 더 쉬운 방법이 있다는 것을 깨달을 필요가 있습니다. –