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