레일 4 및 Active Admin을 사용 중입니다. create
및 update
메서드에 허용되는 다른 매개 변수 집합이 필요하므로 instructions from the Active Admin documentation을 수정하여이 문제에 접근하고 있습니다. 여기에 내가 뭘하려고 오전입니다 :Active Admin의 강력한 매개 변수 : Symbol을 정수로 암시 적으로 변환하지 않음
내 모델에 다음 매개 변수 설정을 할 필요가 생성 :
:name, :region, :contact_details, :province_id, :status_id, :start_date
그러나 갱신에 :region
을 변경해서는 안됩니다. 따라서, 기본 Active 관리자의 업데이트 방법을 무시하지 않고, 내가 permit_params
을 수정하고하는 것은 다음과 같이
permit_params do
params = [:name, :contact_details, :province_id, :status_id, :start_date]
params.push(:region) unless params[:action] == "update"
params
end
그 결과 필연적으로 다음과 같은 오류입니다 :
내가 믿는 발생TypeError: no implicit conversion of Symbol into Integer
, permit_params
가 생성됩니다 방법 permitted_params
.
내가 뭘 잘못하고 있니? 해결 방안은 무엇인가? 다음과 같이 코드를 리팩토링하면 어떻게
'permit_params' 메서드를 사용하는 코드 표시 – Nermin
'permit_params'는 기본 컨트롤러의 무대 뒤에서 ActiveAdmin이 사용합니다 ([here] (https://github.com/activeadmin/activeadmin/blob/master) 참조). /docs/2-resource-customization.md)). 필자는'permit_params'를 사용하는 코드를 작성하지 않았습니다. – azangru