我遇到一种情况,我需要覆盖 activeadmin 中的创建。我自动填充字段,如果数据已经存在,则应该更新,否则创建。这是我的创建方法:
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
我想显示违反验证的错误,以便用户知道他/她是否输入了无效条目。
I found this https://stackoverflow.com/questions/37965870/after-adding-controller-in-active-admin-resource-validations-error-cannot-be-s/37966168但它看起来更像是一种解决方法,而不是解决方案。请帮我解决这个问题。
提前致谢。
我在名为的视图中创建了一个新的 HTML 文件new.html.arb
并添加了insert_tag renderer_for(:new)
在里面。之后我所做的就是
if @company.errors.any?
render 'new'
end
我通过查看 activeadmin 的默认行为发现了它。我希望这可以帮助其他想做类似事情的人。这是我得到的结果,也是我所要求的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)