質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

1057閲覧

降順を指定しているのに、herokuでは昇順になってしまう

NishidaRyu416_

総合スコア113

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/02/10 08:00

##code
controller

ruby

1def word_favorites_rank 2 @ranking=Word.order("favorites_count DESC").limit(10) 3end

view

ruby

1<div class="panel panel-default"> 2 <div class="panel-heading"><h3><span class="label label-success">ランキング</span></h3></div> 3 <div class="panel-body"> 4 <p>人気の問題</p> 5 </div> 6 <div class="table-responsive"> 7 <table class="table table-hover"> 8 <thead> 9 <tr> 10 <th>#</th> 11 <th>タイトル</th> 12 <th>作者</th> 13 <th>作成時期</th> 14 <th>タグ</th> 15 <th>お気に入り</th> 16 </tr> 17 </thead> 18 <tbody> 19 <%@ranking.each.with_index(1) do|ranking,num|%> 20 <tr> 21 <td><%=num%></td> 22 <td><%=link_to ranking.title,word_path(ranking.id)%></td> 23 <td><%=link_to ranking.user.name,user_path(ranking.user.id)%></td> 24 <td><%= time_ago_in_words(ranking.created_at) %> 前 </td> 25 <td><%=render partial: 'words/tags', locals: { tags: ranking.tags }%></td> 26 <td><%=ranking.favorites.count%></td> 27 </tr> 28 <%end%> 29 </tbody> 30 </table> 31 </div> 32</div>

localhostでの表示

herokuでの表示

以前favorites_count カラムを追加したところherokuでのみエラーが起き、schemaをloadさせ解決したので、そこらへんが問題かと思ってます。また、調べたところ、rails標準は昇順とのことですのでうまくdescが働いていないことも考えられます。

回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コードから判断すると、favoritesが追加変更された時に
words の favorites_count columが更新されていないんでしょうね。

ruby

1 <td><%=ranking.favorites.count%></td>

ruby

1 <td><%=ranking.favorites_count%></td>

に変えて問題表示が同じになるなら、favorite modelの問題です
また別の質問してください。

投稿2017/02/10 08:50

編集2017/02/10 08:51
moke

総合スコア2241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NishidaRyu416_

2017/02/10 17:05

変わりました。 0という表示はしなくなります。favorites _countカラムを使うと
moke

2017/02/11 04:25

Heiroku とローカルの表示が同じになるならという意味です。
NishidaRyu416_

2017/02/11 16:41

すべて選択すると治りました。 つまり、0がなければ、正常に動作します。 おそらく、favoriteが、wordにカラムができる前のものが残ってしまっていて不具合が出ると考えられます。dbをリセットすれば治りますかね?
moke

2017/02/12 02:46 編集

そう思うのならそうなのでは?もはや質問の 内容が変わっているのでは? そもそも、全て選択するとの主語が曖昧です。 また、0がなければ対象も不明瞭です。 結論に至るまでのプロセスも全く見えません。 こちらは限定的にしかコードを見れないので 回答に書いてあるように、別の質問を立ててfavorite modelを晒していただかないと、私もエスパーでは無いのでわかりません。 質問者様は、中学生とのことですが、プログラムの前に日本語の勉強をするべきでは無いでしょうか?
NishidaRyu416_

2017/02/12 08:02

取り敢えず、問題解決したので、ありがとうございました。そうですね、日本語の勉強をします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問