【问题标题】:gem 'remotipart' does not show error in server rails 4gem 'remotipart' 在服务器 rails 4 中没有显示错误
【发布时间】:2015-05-04 07:31:39
【问题描述】:

我在我的 gemfile 中使用它:gem 'remotipart'

在我的表单视图 new.html.erb 中定义

<%=form_for @user, remote: true, html: { multipart: true, class: 'user-form' } do |f| %>

    <div id='file_browse'>
      <%= f.file_field :image, :id => 'file_browse' %>
    </div>
    <div class="actions">
      <%= f.submit %>
     </div>    
<%end%>

控制器方法:

def create
  respond_to do |format|
    if @user.save
      format.js
    end
  end
end  

还有我的 create.js.erb

<% if remotipart_submitted? %>
  alert('submitted via remotipart')
<% else %>
  alert('error in uploading image')
<% end %>

它在服务器中给出此错误 413:Request Entity Too Large 但未在页面中显示它没有获取我的警报消息,即无法捕获错误。请帮助我找到方法。不想给这个 client_max_body_size 2M;handle 它的错误与 rails 应用程序它从 nginx 请求中获取的错误不会通过 rails 应用程序

【问题讨论】:

  • 你在使用 ngnix 网络服务器吗?

标签: javascript ruby-on-rails ajax ruby-on-rails-4 rubygems


【解决方案1】:

您是从 ngnix 而不是从 rails 收到此错误的。

您可以通过更改 Nginx 配置中的 client_max_body_size 属性来修复此错误。

查看article了解更多详情。

【讨论】:

  • 没有要求是不在nginx服务器中定义client_max_body_size
  • 您的评论不清楚,顺便说一句,您必须增加ngnix的上传限制,然后您才能处理代码中的rails上传错误。
  • 我的意思是要求不要在 ngnix 服务器中进行更改,我只需要在我的 rails 项目代码中处理这个问题
  • 如果您的 Rails 应用程序引发错误,您可以处理 Rails 代码中的错误。在这种情况下,您的请求没有到达 rails 应用程序,ngnix 会抛出错误。
  • 是的,ngnix 正在抛出错误请求未到达 Rails 应用程序。而且我没有得到任何解决方案
【解决方案2】:

请尝试这样,它可能会帮助你:

在你的 create.js.erb 中

<%= remotipart_response do %>
  <% if remotipart_submitted? %>
     alert('submitted via remotipart')
  <% else %>
     alert('error in uploading image')
  <% end %>
<% end %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 2016-10-11
    相关资源
    最近更新 更多