显示错误消息的路轨

时间:2017-07-30 15:27:02

标签: ruby-on-rails

我目前有导入文件的文件导入功能,并记录所有错误。

我在控制器中的错误解决方案看起来像这样。 (有更多的自定义逻辑来检查是否存在错误..但是省略了这个问题)

error_report = Item.item_import(params[:file])
redirect_to vendor_path, alert: error_report

error_report大于允许的4kb时,我遇到了问题。显示错误和重定向用户的正确方法是什么?也许将错误绑定到对象并在html中呈现?

1 个答案:

答案 0 :(得分:0)

您有几个选择:

  1. 将错误附加到相关的持久对象。在后续页面加载中从持久性存储中提取错误。

  2. 使用键值存储(例如Redis)来保留flash消息而不是cookie(这是4kb限制发挥作用的地方)。

  3. 使用错误消息预呈现HTML部分并在重定向之前将其缓存在缓存存储区(类似于Memcache)中,然后在下一个页面加载上呈现缓存的部分。您可以为部分名称生成唯一键,然后将其设置为单独的闪存键。

  4. 在您的特定情况下可能不是一个选项,但在其他情况下,您可以简单地截断错误消息以适应限制。