我有一个情况需要在activeadmin中覆盖create功能。我自动填充字段,如果数据已经存在,就应该更新,否则就创建。以下是我的create方法:
def create
id = params[:company].dig(:id)
if id.present?
@company = Company.find(id)
if @company.update(permitted_params[:company])
redirect_to resource_url
flash[:notice] = 'Company created successfully'
else
#add errors to semantic errors
end
else
new_permitted_params = permitted_params[:company].except(:id)
@company = Company.new(new_permitted_params)
@company.save
if @company.errors.any?
#add this to semantic errors so that activeadmin handles and displays the errors
end
end
end
我希望能够展示违反验证规则的错误,以便用户知道是否输入了无效内容。
我发现了这个链接,但它看起来更像是一个解决方法而不是一个解决方案。请帮助我解决这个问题。
提前感谢您的帮助。
render :new
之前,您可能需要设置@resource = @company
。 - Ali Ghanavatian