验证失败时如何保留文件字段值

2024-04-02

我有一个带有文件字段的经典 Rails 3 表单,一切正常,上传有效并且数据保存到数据库中。

当验证失败时,例如,缺少标题,然后用户将被发送回表单,并带有render :action => new。普通的。但这里的问题是用户必须再次选择其文件。

有什么办法可以避免这种情况吗?


通常,您不想在运行验证之前处理文件,或者您将重复存储可能没有关联记录的文件。像 Paperclip 和 Attachment_fu 这样的 Gem 可以做到这一点。

如果您希望在第一次提交且有效时存储该文件,您可以存储该文件,然后在视图中快速检查以查看它是否已为您正在为其构建表单的对象设置,例如:

<% unless foo.attachment? %>
  # file field
<% end %>

合理?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证失败时如何保留文件字段值 的相关文章

随机推荐

  • 如何应用 django 补丁

    我想对这个错误应用补丁 http code djangoproject com ticket 13095 http code djangoproject com ticket 13095 但我以前从未这样做过 我不知道从哪里开始 谁能给我指
  • 如何使用 Spring JPA 仅获取实体的选定属性?

    我在我的项目中使用 Spring Boot 1 3 3 RELEASE 和 Hibernate JPA 我的实体看起来像这样 Data NoArgsConstructor Entity Table name rule public clas
  • 读取 jar 文件中的 zip 文件

    之前我们的 Web 应用程序中有一些 zip 文件 我们想要解析 zip 文件中的特定文本文档 这不是问题 URL url getClass getResource zipfile ZipFile zip new ZipFile url g
  • 序列或批处理项目 DataGridView

    我有一个包含 940000 行的大型 DataGridView 哎呀 通过解析 csv 文件填充 DataGridView 有一个名为序列的列 编号为 1 到 940000 我试图做的是重新编号序列以溢出到序列中DataGridView 中
  • Angular Reactive Form 提交并明确验证

    我有一个反应形式
  • 如何监控SciPy.odeint的进程?

    SciPy 可以通过 scipy integrate odeint 或其他包求解 ode 方程 但它在函数完全求解后给出结果 但是 如果 ode 函数非常复杂 程序将花费大量时间 一两天 才能给出整个结果 那么我如何监控求解方程的步骤 当方
  • 将动态添加到 IList 失败

    在下面的代码示例中调用l Add s and c Add s 是成功的 但对于泛型时会失败IList
  • com.jcraft.jsch.JSchException:java.net.ConnectException:连接被拒绝:连接

    我知道有重复的 gt gt gt 从重复的 gt gt gt 复制 只要您的本地计算机有一个正在运行的 SSH 服务器 它说 只要你的本地机器有运行的 SSH 服务器 但我不知道如何运行 SSH 服务器 我打开我的腻子 双击它 不确定这是否
  • utf-8特殊字符不显示[重复]

    这个问题在这里已经有答案了 我将网站从本地测试服务器移至 NameCheap 共享主机 现在我遇到了问题 某些页面无法正确显示 utf 8 特殊字符 而是显示问号 所有页面均采用 utf 8 编码 所有数据库表也是如此 奇怪的是 有些页面可
  • 无法加载 libgdx 的共享库 box2d

    我有一个使用 Maven 构建的 libGDX 项目 它过去运行良好 但最近它停止工作 因为 libGDX 将 box2d 移动为扩展 我将扩展作为依赖项添加到项目的核心 就像任何其他依赖项一样
  • 在 Python 中将 USB 视频捕获设备友好名称与 OpenCV 端口号相关联

    我想在 Windows 平台上使用 Python 获取外部 USB 视频捕获设备的友好名称和 USB 端口号 我正在使用 OpenCV 从 USB 捕获设备捕获视频 OpenCV 将 USB 端口称为 1 找到的第一个工作摄像头 0 对我来
  • 为Buildbot添加自定义功能

    我用 python 编写了一个函数 我想让 Buildbot 来执行这个函数 当它收到 构建 命令时 我之前使用过 factory addStep 通过命令行添加新命令 但我不确定如何向 Buildbot 添加 python 函数 谢谢 如
  • Symfony2:如何禁用表单级联验证?

    我有一个带有一个实体表单字段的表单 当我打电话时 form gt isValid symfony 验证与该字段关联的对象 我知道问题是fixed http github com symfony symfony commit 0c70a410
  • Android 模拟器上的布局看起来不像我在 Android 应用程序项目中所做的布局

    Android 模拟器上的布局看起来不像我在 Android 应用程序项目中所做的布局 我在 Eclipse 中做了一个带有两个单选按钮和两个旋转器的布局 但是当我在 Android 模拟器上运行它时 旋转器在箭头符号旁边各有两个额外的单选
  • Python greenthread 和 requests 模块每次只处理 10 个请求?

    我正在使用Python 2 7 5 并尝试使用协程绿色线程 Pythoneventlet 和Pythonrequests模块来加速我的 REST API 请求 我知道Pythonrequests https requests readthe
  • 使用 CSS 将输入值旋转 90 度

    我有一个提交按钮 其文本需要旋转 但是 我似乎只能弄清楚如何旋转整个提交按钮而不仅仅是旋转VALUE 我用来旋转的 CSS 很简单 webkit transform rotate 90deg moz transform rotate 90d
  • Angular2 中的 404 页面和延迟加载

    我无法让我的 404 页面 使用延迟加载模块工作 当我在浏览器中输入随机 URL 时 我只看到一个空白页面 而不是很酷的 404 页面 这是我的路由配置 export const routes Routes path redirectTo
  • 实体字段的可为空属性,实体框架通过 Code First

    使用数据注释Required像这样 Required public int somefield get set 将定萨姆菲尔德 to Not Null在数据库中 我该如何设置萨姆菲尔德允许 NULL 我尝试通过 SQL Server Man
  • 每 n 个单词分割单词向量(向量在列表中)

    如何最好地分割列表中的单词向量 这就是我目前正在做的事情 感谢 geektrader 的回答 here https stackoverflow com a 15832050 1036500 但它让 RStudio 颤抖并冻结了相当多 这个问
  • 验证失败时如何保留文件字段值

    我有一个带有文件字段的经典 Rails 3 表单 一切正常 上传有效并且数据保存到数据库中 当验证失败时 例如 缺少标题 然后用户将被发送回表单 并带有render action gt new 普通的 但这里的问题是用户必须再次选择其文件