0

Ruby 2.1.0을 실행하는 Rails App 인 lorem ipsum generator가 있습니다. 응용 프로그램이 잘 작동하지만 Heroku에 배치 된 후 버튼 클릭이 첫 번째 클릭에서 작동하지 않는 문제가 있습니다. 개발 중에는 20 개 이상의 쿼리를 처리 할 수 ​​있지만 프로덕션에서는 5 개 이상의 단락에 머물러있는 것으로 보입니다.Rails Heroku Postgres JavaScript 버튼 동작은 여러 번의 클릭에서만 작동합니다.

버튼 동작은 추가 클릭이 발생할 때까지 submit.js.erb를 실패한 각 클릭에 대해 200 상태로 렌더링합니다. 개발 과정에서 문제가 없으므로 Postgres 쿼리 문제가 모델 호출의 구조와 관련이 있다고 생각했습니다.

어떤 생각이나 조언을 주시면 감사하겠습니다. 앱은 현재에 배포 :

<%= 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> 

routes.rb index.html.erb 파일

 resources :homes 
     root to: 'homes#index' 
     post '/submit', to: 'homes#submit' 
     resources :paragraphs 

controller.rb 파일을

http://blooming-refuge-1066.herokuapp.com/

양식

 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(); 

Heroku가 로그 여러 후 두 번 이상 같은 자바 스크립트 파일을로드 할 때

  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 

답변

0

이런 종류의 오류가 자주 발생 클릭합니다. jquery_ujs 및 jquery가 한 번만로드되는지 확인하십시오.

+0

JS 파일로드가 괜찮아 보입니다. 또한 버튼 클릭의 성능은 입력 크기와 직접적으로 관련이 있습니다. 30 단락의 개발에는 1 초가 걸리는 반면, 제작에서는 응답을 얻을 수 없습니다. – TMfranken

0

이것은 임의 출현에 대해 두 번 제출하는 이유는 제작 단락 중 일부에 특수 문자 따옴표와 몇 개의 여분의 반환 공백이 포함되어 있기 때문입니다. 이로 인해 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(); 
관련 문제