如何在覆盖控制器后显示activeadmin表单中的错误
我有一种情况需要覆盖activeadmin中的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
我想显示违反validation的错误,以便用户知道他/她是否输入了无效条目。
我找到了这个,但它看起来像一个解决方案而不是一个解决方案。 请帮我解决这个问题。
提前致谢。
我在名为new.html.arb
视图中创建了一个新的HTML文件,并在其中添加了insert_tag renderer_for(:new)
。 之后我所做的就是
if @company.errors.any? render 'new' end
我通过查看activeadmin的默认行为来发现它。 我希望这有助于其他想要做类似事情的人。 这是我得到的结果,也是我要求的结果。
我想知道客户端逻辑是否根据id.present提交到不同的URL? 可能会让事情变得更加安宁。
- 将页面添加到活动管理员
- 活动管理员:同一列中的多个操作类似于查看,编辑,删除
- 如何使用ActiveAdmin或RailsAdmin保持DRY,与主应用程序分开
- 多级嵌套表单未在Active Admin中显示
- 错误未定义方法`的to_key’:尝试在Active Admin table_for上使用数组数据时的数组(Rails,Postgresql,postgres_ext gem)
- 如何使用belongs_to / has_many关系在Active Admin索引中显示关联模型的属性(Rails 3.2 / Active Admin)
- ActiveAdmin嵌套表单在#show页面上
- 无法登录Active Admin。 有没有办法创建管理员用户?
- 保留ActiveAdmin布局的ActiveAdmin自定义视图