【问题标题】:Render form with errors and file inputs呈现带有错误和文件输入的表单
【发布时间】:2013-06-02 09:42:10
【问题描述】:

我有一个带有嵌套属性的表单。

一切似乎都运行良好,直到用户提交表单时在附件以外的字段上出现错误。

在第一次提交表单时,我重新呈现显示错误的表单,但他/她附加的文件的嵌套字段不显示它们的值,它们是空的。因此,当用户修复他/她的错误时,表单提交时没有附件。

我该如何处理;我希望在呈现有错误的表单时使文件输入具有先前提交的值。如果您建议另一种方法,请成为我的客人。

示例代码:

= simple_nested_form_for foo do |f|
  = f.input :name
  = f.fields_for :attachments do |af|
    = af.input :attached_file
  = f.submit 'Create'

【问题讨论】:

  • 重新渲染后,文件输入栏也是空的吗? (我的意思是对用户来说显然是空的。)
  • @gg_s 是的,它是空的...
  • ...这导致没有附件,完全符合预期。相反应该发生什么?这个问题并没有说,只有“我应该如何实现这个”。实施什么?
  • @gg_s 以为很清楚,我编辑了我的帖子。
  • 也许您应该考虑一个 Ajax 提交 (remote: true),服务器是否会响应错误,然后您“着色”错误的输入?我认为(不确定)boostrap 可以很好地做到这一点

标签: ruby-on-rails ruby-on-rails-3 file-upload nested-forms simple-form


【解决方案1】:

如果您想通过 ajax 发送文件图像,那么您不能直接发送它,因为 ajax 用于将数据发送到服务器而不刷新当前页面,它接受的数据量较少。

通过 ajax 发送文件的其他方法是 hack 或者简单的使用 remotipart gem remotipart

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 1970-01-01
    • 2014-02-10
    • 2019-09-29
    • 1970-01-01
    • 2012-05-22
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多