0

我的 Rails 操作在传输相同数量的数据后停止呈现响应。不显示错误或警告。

起初,我认为我的部分可能是造成这种情况的原因,但后来我删除了部分调用并插入了一些纯文本,结果 html 仍然被截断,具体取决于我插入的文本量。

我用thin,webrickpow+试过了nginx

它看起来好像在某处有某种响应大小限制。有任何想法吗?

更新:

渲染在特定代码上失败(即使我清空_offer部分代码):

# Controller:
@offers = Offer.all

# View:
<% offers.each do |offer| %>
<%= render offer %>
<% end %>

# views/offers/_offer.html.haml
%li{ :class => offer.promo_type }
.content_card
    .content_item_wrapper
        .exclusive_content_ribbon
        .exlusive_glossy
        .exclusive_operator
            .operator_icon
        .exclusive_content_photo= image_tag offer.package.hotel.main_image_path
        .exclusive_content_hotel
            .ex_hotel_stars
                %span{ :class => ["ex_hotel_stars_b", "star_#{offer.package.hotel.stars}"] }
            .ex_hotel_name
                %a= offer.package.hotel.name
            .ex_hotel_place
                %span.ex_hotel_place_country= offer.package.hotel.country.name_ru
                &#8250;
                %span.ex_hotel_place_region= offer.package.hotel.city.name_ru

更新 2:

如果我删除下面的所有内容.exclusive_content_photo= image_tag offer.package.hotel.main_image_path(包括这一行) ,它就会开始工作

更新 3:

任何调用offer.package都会导致它崩溃。在控制台中一切正常。

=========

我的宝石清单:

捆绑包中包含的宝石:
  * aasm (3.0.14)
  * actionmailer (3.2.9)
  *动作包(3.2.9)
  * activeadmin (0.5.0 eea827a)
  *活动模型(3.2.9)
  *活动记录(3.2.9)
  *活动资源(3.2.9)
  * 主动支持 (3.2.9)
  * 可寻址 (2.3.2)
  * ansi (1.4.3)
  * arbre (1.0.1)
  * 雷尔 (3.0.2)
  * aws-sdk (1.7.1)
  * bcrypt-ruby (3.0.1)
  *波旁威士忌(2.1.2)
  *生成器(3.0.4)
  * 项目符号(4.2.0 c292bb7)
  *捆绑器(1.2.1)
  *康康(1.6.8)
  * capistrano (2.13.5)
  * 水豚 (1.1.3)
  *赛璐珞(0.12.3)
  *子进程(0.3.6)
  * 慢性 (0.8.0)
  * clickatell (0.8.2 62d215c)
  * 码雷 (1.0.8)
  * 咖啡轨 (3.2.2)
  * 咖啡脚本 (2.2.0)
  * 咖啡脚本源 (1.4.0)
  * 连接池(0.9.2)
  * css_parser (1.2.6)
  * 守护进程 (1.1.9)
  * 设计(2.1.2)
  * diff-lcs (1.1.3)
  * 域名 (0.5.4)
  * 厄鲁比斯 (2.7.0)
  *事件机(1.0.0)
  * exception_notification (3.0.0)
  * execjs (1.4.0)
  * 因素 (1.6.14)
  * factory_girl (4.1.0)
  * factory_girl_rails (4.1.0)
  * fancybox-rails (0.1.4)
  *法拉第(0.8.4)
  * faraday_middleware (0.9.0)
  *更快的csv(1.5.5)
  * faye-websocket (0.4.6)
  * 菲 (1.2.0)
  * 形式化(2.2.1)
  *上帝(0.13.1)
  *后卫(1.5.4)
  * 守卫-rspec (2.1.2)
  * 哈姆 (3.1.7)
  * has_scope (0.5.1)
  *哈希(1.2.0)
  * 高线 (1.6.15)
  * 远足 (1.2.1)
  * http_parser.rb (0.5.3)
  * httparty (0.9.0)
  * i18n (0.6.1)
  * 继承资源 (1.3.1)
  * jbuilder (0.8.2)
  *旅程(1.0.4)
  * jquery-rails (2.1.3)
  * json (1.7.5)
  * kaminari (0.14.1)
  *公斤(2.7.4)
  * 发射 (2.1.2)
  * letter_opener (1.0.0)
  * libv8 (3.3.10.4)
  * libwebsocket (0.1.6.1)
  * libxml-ruby (2.3.3)
  *听(0.5.3)
  *伐木工人(1.0.2)
  * 邮件 (2.4.4)
  *标记b(1.0.0)
  *机械化(2.5.1)
  * 元搜索 (1.1.3)
  * 方法源(0.8.1)
  * 哑剧类型 (1.19)
  * mini_magick (3.4)
  * multi_json (1.3.7)
  * multi_xml (0.5.1)
  * 多部分帖子 (1.1.5)
  * mysql2 (0.3.11)
  * 网络 http-digest_auth (1.2.1)
  * net-http-persistent (2.8)
  * 网络SCP(1.0.4)
  * 网络 sftp (2.0.5)
  * 网络 SSH (2.6.1)
  * 网络 SSH 网关 (1.1.0)
  * newrelic_rpm (3.5.2.17)
  * nokogiri (1.5.5)
  * ntlm-http (0.1.1)
  * orm_adapter (0.4.0)
  * 恶作剧 (1.0.2)
  *多角(0.5.0)
  * 多语言 (0.3.3)
  * 撬 (0.9.10)
  * 机架 (1.4.1)
  * 机架缓存 (1.2)
  *机架保护(1.2.0)
  * 机架 SSL (1.3.2)
  *机架测试(0.6.2)
  * 导轨 (3.2.9)
  *铁路(3.2.9)
  *雨滴(0.10.0)
  * 耙子 (10.0.2)
  * rb-fsevent (0.9.2)
  * rdoc (3.12)
  *红地毯(2.2.2)
  * redis (3.0.2)
  * redis-actionpack (3.2.3)
  * redis-activesupport (3.2.3)
  * redis 命名空间 (1.2.1)
  * redis 机架 (1.4.2)
  * redis-rails (3.2.3)
  * redis 存储 (1.1.3)
  *响应者(0.9.3)
  * 路人 (2.3.4)
  * rspec (2.12.0)
  * rspec 核心 (2.12.0)
  * rspec-expectations (2.12.0)
  * rspec 模拟 (2.12.0)
  * rspec-nc (0.0.4)
  * rspec-rails (2.12.0)
  * ruby​​zip (0.9.9)
  * 俄语 (0.6.0)
  *萨斯(3.2.3)
  * sass-rails (3.2.5)
  *萨克斯机(0.1.0)
  *硒网络驱动程序(2.26.0)
  *发送网格(1.1.0)
  * sidekiq (2.5.3)
  * simple_oauth (0.1.9)
  * 西纳特拉 (1.3.3)
  *苗条(1.3.4)
  * 斜坡 (3.3.3)
  * 链轮 (2.2.1)
  * 子执行 (0.2.2)
  *寺庙(0.5.5)
  *终端通知器(1.4.2)
  * therubyracer (0.10.2)
  * 薄 (1.5.0)
  * 雷神 (0.16.0)
  * 倾斜 (1.3.3)
  * 计时器 (1.0.1)
  * 火种 (1.9.1)
  * 树顶 (1.4.12)
  * turbo-sprockets-rails3 (0.3.2)
  *转(0.9.6)
  * 推特流 (0.1.16)
  * 台风 (0.4.2)
  * tzinfo (0.3.35)
  *丑化剂(1.3.0)
  * unf (0.0.5)
  * unf_ext (0.0.5)
  *独角兽(4.4.0)
  * uniform_notifier (1.1.0)
  * uuidtools (2.1.3)
  * 典狱长 (1.2.1)
  * 网络机器人 (0.0.13)
  * websocket (1.0.3)
  * 无论何时(0.8.0)
  * xpath (0.1.4)
  * yaml_db (0.2.3)
4

2 回答 2

1

Bullet gem was the cause of it. For more information see https://github.com/rails/rails/issues/8283

于 2012-11-23T14:13:12.887 回答
0

您似乎在视图中使用“offers”而不是“@offers”。除此之外,我还遇到了 HAML 忽略视图中由 Ruby 代码引起的错误消息的问题。您确定控制器返回的对象包含视图使用的所有数据吗?在您获取优惠后在您的控制器中尝试放入

puts @offers.inspect

并查看您的服务器日志以查看此对象是否具有您期望的信息

于 2012-11-20T21:42:53.650 回答