我有一个ActiveAdmin表单,它启动一个相对长时间运行的动作(5-20秒)。在后台任务中执行它没有任何意义,因为我需要用户在继续使用系统之前等待它。我想让表单显示某种" loading"正在执行操作时动画,但我无法找到如何使用ActiveAdmin / formtastic进行操作。我怀疑我可以使用ActiveAdmin的功能,但我无法找到它。有什么建议吗?
答案 0 :(得分:1)
这就是你应该如何使用disable_with(check the docs)和simple_form:
f.submit,
'Submit',
class: 'button',
data: { disable_with: Wait... }
由于ActiveAdmin使用formtastic,因此AA解决方案略有不同:
f.action :submit,
button_html: {
label: 'Custom label',
class: "btn primary",
disable_with: 'Wait...'
}
答案 1 :(得分:0)
这对我在ActiveAdmin上有用。
f.actions do
f.action :submit,
button_html: {
label: 'Custom label',
class: "btn primary",
data: {disable_with: 'Creating...'}
}
end
不添加disable_with的问题不仅仅是可视化的。如果您正在使用turbolinks,则不添加disable_with可能会导致在数据库中创建多条记录,只需单击一下。