Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails Heroku Postgres JavaScript按钮操作仅适用于多次单击_Javascript_Ruby On Rails_Heroku_Database Performance_Heroku Postgres - Fatal编程技术网

Rails Heroku Postgres JavaScript按钮操作仅适用于多次单击

Rails Heroku Postgres JavaScript按钮操作仅适用于多次单击,javascript,ruby-on-rails,heroku,database-performance,heroku-postgres,Javascript,Ruby On Rails,Heroku,Database Performance,Heroku Postgres,我有一个运行4.0.2和Ruby 2.1.0的单页lorem ipsum generator Rails应用程序。该应用程序在开发过程中运行良好,但在Heroku上部署后,第一次单击时按钮单击不起作用。在开发过程中,它可以处理20+的查询,但在生产过程中,它似乎被任何高于5个段落的内容卡住了 按钮操作会使submit.js.erb在每次单击失败时呈现200状态,直到它最终与其他单击一起工作。因为它在开发中工作得很好,所以我想这可能是Postgres查询模型调用的结构问题 如有任何想法或建议,将不

我有一个运行4.0.2和Ruby 2.1.0的单页lorem ipsum generator Rails应用程序。该应用程序在开发过程中运行良好,但在Heroku上部署后,第一次单击时按钮单击不起作用。在开发过程中,它可以处理20+的查询,但在生产过程中,它似乎被任何高于5个段落的内容卡住了

按钮操作会使submit.js.erb在每次单击失败时呈现200状态,直到它最终与其他单击一起工作。因为它在开发中工作得很好,所以我想这可能是Postgres查询模型调用的结构问题

如有任何想法或建议,将不胜感激。应用程序当前部署在:

index.html.erb上的表单

    <%= form_tag "/submit", remote: true do %>
    <div class="form">
      <table>
        <tbody>
          <tr>
            <div class="field">
            <td><p class="question">HOW MANY PARAGRAPHS?</p></td>
            <td><%= text_field_tag :paragraph_count, 1, {style: "width: 40px;", maxvalue: "10" } %></td>
            </div>
    <div class="actions">
          <%= submit_tag "Serenity Now", class: "btn btn-custom btn-lg", id: "buttnow" %>
        </div>
controller.rb文件

      def submit
        limit = params[:paragraph_count].to_i
        @paragraphs = Paragraph.pluck(:description).shuffle[0...limit]

        respond_to do |format|
          format.js
        end
      end
submit.js.erb文件

    $('#koanz').html("<p><%= @paragraphs.join('</p><p>').html_safe %></p>").show();

当您多次加载同一个javascript文件时,通常会发生这种错误。确保jquery_ujs和jquery只加载一次。

这导致随机出现双重提交的原因是一些生产段落包含特殊字符引号和一些额外的返回空格。这导致javascript在submit.js.erb中中断。为了解决此问题,submit.js.erb被修改

    $('#koanz').html("<p><%= @paragraphs.map{|x| html_escape(x.gsub(/\n/, ''))}.join('</p><p>').html_safe %></p>").show();

JS文件的加载看起来不错。此外,按钮单击的性能与输入的大小直接相关。30个段落在开发中需要1秒钟,而在制作中我甚至无法得到回复。
            2014-02-27T03:25:45.933357+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:45 +0000
    2014-02-27T03:25:45.935086+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:45.935086+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:45.935086+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:45.933357+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:45 +0000
    2014-02-27T03:25:45.935086+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:45.956141+00:00 app[web.1]: Completed 200 OK in 21ms (Views: 3.3ms | ActiveRecord: 13.4ms)
    2014-02-27T03:25:45.955920+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.9ms)
    2014-02-27T03:25:45.955920+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.9ms)
    2014-02-27T03:25:45.956141+00:00 app[web.1]: Completed 200 OK in 21ms (Views: 3.3ms | ActiveRecord: 13.4ms)
    2014-02-27T03:25:46.017862+00:00 heroku[router]: at=info method=POST path=/submit host=blooming-refuge-1066.herokuapp.com request_id=c235c25b-ebb6-432f-8c82-2eb10c435678 fwd="50.149.115.166" dyno=web.1 connect=3ms service=90ms status=200 bytes=3085
    2014-02-27T03:25:48.061798+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:48 +0000
    2014-02-27T03:25:48.061798+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:48 +0000
    2014-02-27T03:25:48.063252+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:48.063252+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:48.063252+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:48.069377+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:48.069588+00:00 app[web.1]: Completed 200 OK in 6ms (Views: 0.6ms | ActiveRecord: 3.9ms)
    2014-02-27T03:25:48.069377+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:48.063497+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:48.069588+00:00 app[web.1]: Completed 200 OK in 6ms (Views: 0.6ms | ActiveRecord: 3.9ms)
    2014-02-27T03:25:49.138997+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:49 +0000
    2014-02-27T03:25:49.143518+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:49.157302+00:00 heroku[router]: at=info method=POST path=/submit host=blooming-refuge-1066.herokuapp.com request_id=1b726361-d376-4924-ac27-6d368ebdf631 fwd="50.149.115.166" dyno=web.1 connect=4ms service=21ms status=200 bytes=2431
    2014-02-27T03:25:49.138997+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:49 +0000
    2014-02-27T03:25:49.143518+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:49.143518+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:49.143518+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:49.153074+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:49.153074+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:49.153222+00:00 app[web.1]: Completed 200 OK in 10ms (Views: 0.7ms | ActiveRecord: 7.5ms)
    2014-02-27T03:25:49.153222+00:00 app[web.1]: Completed 200 OK in 10ms (Views: 0.7ms | ActiveRecord: 7.5ms)
    2014-02-27T03:25:50.279112+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:50 +0000
    2014-02-27T03:25:50.302745+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:50 +0000
    2014-02-27T03:25:50.308782+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:50.365665+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:50.342596+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:50.342934+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:50.342811+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:50.435740+00:00 app[web.1]: Completed 200 OK in 91ms (Views: 69.1ms | ActiveRecord: 19.8ms)
    2014-02-27T03:25:50.434368+00:00 app[web.1]: Completed 200 OK in 91ms (Views: 69.1ms | ActiveRecord: 19.8ms)
    2014-02-27T03:25:50.433489+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:51.164082+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:51 +0000
    2014-02-27T03:25:51.164082+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:51 +0000
    2014-02-27T03:25:51.165062+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:51.165062+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:51.165062+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:51.185743+00:00 heroku[router]: at=info method=POST path=/submit host=blooming-refuge-1066.herokuapp.com request_id=840bd593-2bb9-4126-907c-f09443a10695 fwd="50.149.115.166" dyno=web.1 connect=0ms service=39ms status=200 bytes=3025
    2014-02-27T03:25:51.179108+00:00 app[web.1]: Completed 200 OK in 8ms (Views: 0.9ms | ActiveRecord: 5.6ms)
    2014-02-27T03:25:51.179067+00:00 app[web.1]: Completed 200 OK in 8ms (Views: 0.9ms | ActiveRecord: 5.6ms)
    2014-02-27T03:25:51.170996+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:51.178856+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:51.178678+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:51.533809+00:00 heroku[router]: at=info method=POST path=/submit host=blooming-refuge-1066.herokuapp.com request_id=57abc2d7-5e73-4bf2-a875-1347fa37ed32 fwd="50.149.115.166" dyno=web.1 connect=0ms service=25ms status=200 bytes=2167
    2014-02-27T03:25:51.519012+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:51 +0000
    2014-02-27T03:25:51.521359+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:51 +0000
    2014-02-27T03:25:51.522698+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:51.523888+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:51.523972+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:51.524046+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:51.531096+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:51.531385+00:00 app[web.1]: Completed 200 OK in 7ms (Views: 0.8ms | ActiveRecord: 4.9ms)
    2014-02-27T03:25:51.531385+00:00 app[web.1]: Completed 200 OK in 7ms (Views: 0.8ms | ActiveRecord: 4.9ms)
    2014-02-27T03:25:51.531096+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:51.867868+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:51 +0000
    2014-02-27T03:25:51.867868+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:51 +0000
    2014-02-27T03:25:51.879393+00:00 heroku[router]: at=info method=POST path=/submit host=blooming-refuge-1066.herokuapp.com request_id=76c566ff-400a-40fa-8b01-c1e988cfc132 fwd="50.149.115.166" dyno=web.1 connect=0ms service=20ms status=200 bytes=2788
    2014-02-27T03:25:51.869165+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:51.869165+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:51.869165+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:51.869165+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:51.879542+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.6ms)
    2014-02-27T03:25:51.879542+00:00 app[web.1]: Completed 200 OK in 9ms (Views: 1.8ms | ActiveRecord: 2.3ms)
    2014-02-27T03:25:51.879542+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.6ms)
    2014-02-27T03:25:51.879542+00:00 app[web.1]: Completed 200 OK in 9ms (Views: 1.8ms | ActiveRecord: 2.3ms)
    2014-02-27T03:25:52.012890+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:52 +0000
    2014-02-27T03:25:52.012890+00:00 app[web.1]: Started POST "/submit" for 50.149.115.166 at 2014-02-27 03:25:52 +0000
    2014-02-27T03:25:52.014468+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:52.014468+00:00 app[web.1]: Processing by HomesController#submit as JS
    2014-02-27T03:25:52.014468+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:52.014468+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "paragraph_count"=>"5"}
    2014-02-27T03:25:52.018213+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:52.018173+00:00 app[web.1]:   Rendered homes/submit.js.erb (0.1ms)
    2014-02-27T03:25:52.018492+00:00 app[web.1]: Completed 200 OK in 4ms (Views: 0.6ms | ActiveRecord: 1.8ms)
    2014-02-27T03:25:52.018415+00:00 app[web.1]: Completed 200 OK in 4ms (Views: 0.6ms | ActiveRecord: 1.8ms)
    2014-02-27T03:25:37.884064+00:00 heroku[router]: at=info method=GET path=/ host=blooming-refuge-1066.herokuapp.com request_id=9920cd7f-26f9-4805-9741-569786279471 fwd="50.149.115.166" dyno=web.1 connect=9ms service=101ms status=200 bytes=6213
    $('#koanz').html("<p><%= @paragraphs.map{|x| html_escape(x.gsub(/\n/, ''))}.join('</p><p>').html_safe %></p>").show();