railsでテスト開発したアプリをherokuにデプロイしたら、様々な不具合が生じています。
今回はjsがうまく機能しない問題です。
html
1<table class="index-table"> 2 <tr> 3 <th>順位</th> 4 <th>名前</th> 5 <th>カウント</th> 6 <th>リンク</th> 7 </tr> 8 <% @tops.each_with_index do |f, i| %> 9 <tr class="index-table-tr"> 10 <td class="index-table-rank"><%= i+1 %></td> 11 <td class="index-table-name"><%= f.name %></td> 12 <td class="index-table-count"> 13 <% if f.likes_count.nil? %> 14 0 15 <% else %> 16 <%= f.likes_count %> 17 <% end %> 18 </td> 19 <td class="index-table-link"> 20 <%= link_to book_path(f) do %><i class="fas fa-search"></i><% end %> 21 </td> 22 </tr> 23 <% end %> 24</table>
js
1$(function() { 2 var counter = 0; 3 var text =""; 4 var target=""; 5 $($('.index-table-tr').get().reverse()).each(function(){ 6 if ($(this).children('.index-table-count').text() == text) { 7 counter++; 8 if(target !="") 9 target.remove(); 10 } 11 else { 12 if(target !="") 13 target.attr('rowSpan', counter); 14 counter=1; 15 } 16 text = $(this).children('.index-table-count').text(); 17 target = $(this).children('.index-table-rank'); 18 }); 19});
上記は、カウント数が同じだった場合に以下のように順位のセルを統合して表示するためのコードです。
順位 | 名前 | カウント | リンク |
---|---|---|---|
1 | aaa | 100 | リンク |
2 | ddd | 90 | リンク |
3 | eee | 75 | リンク |
4 | bbb | 75 | リンク |
5 | ccc | 55 | リンク |
順位 | 名前 | カウント | リンク |
---|---|---|---|
1 | aaa | 100 | リンク |
2 | ddd | 90 | リンク |
3 | eee | 75 | リンク |
bbb | 75 | リンク | |
5 | ccc | 55 | リンク |
※3位と4位の順位セルを縦に結合(文字は中央に寄ります)
この表記でローカルでは問題なく表示されますが、herokuにデプロイしたら下のように崩れて表示されます。
順位 | 名前 | カウント | リンク |
---|---|---|---|
1 | aaa | 100 | リンク |
ddd | 90 | リンク | |
eee | 75 | リンク | |
bbb | 75 | リンク | |
ccc | 55 | リンク |
原因と解決法を教えてください。
$ rails assets:precompile してから更新しましたが変化ありません。
デベロッパーツールでconsoleを見てもエラーは何もでていません。
herokuデプロイ後に不具合が出て順次解消していっていますが、いままではローカル環境とサーバー環境でのデータベースの違い(sqlite3, postgresql)によるものでした。そのように、「データベースの違い」といった感じで根本的な原因がわかれば色々調べて自己解決できるでしょうが、この件はローカル環境とサーバー環境で何が食い違っているのかわかりません。なぜローカルで動くjsがデプロイ後にエラー表示もなく崩れるのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/07 05:09