0

私はこのプログラムを使用しています。このプログラムは、ゴルフ ゲームに関する一連の情報を入力した後、ハンディキャップを計算します。次に、(Excel のように) 横に、ゴルフ コース名、プレーする最大ハンディキャップ、および距離を一覧表示するテーブルがあります。

次の方法で、ゴルフ コース名、ハンディキャップ、距離情報を含むこのテーブルをプログラムに実装する方法が必要です: プログラムがハンディキャップを計算すると、このテーブルを調べて (おそらく並べ替えによって)、あなたのハンディキャップがコースの最大ハンディキャップよりも低いコース。そして、それらのコースから最短距離で上位3位までをソートします。

それが理にかなっていることを願っています。これを機能させる最良の方法は何ですか?これらの値または何らかの配列を格納するテーブルを作成する必要がありますか?

4

1 に答える 1

0

ゴルフコースの名前、距離、最大ハンディキャップなどを格納する「コース」というテーブルを作成できます。次に、コントローラーで次のようにします。

@user = current_user //or however you're finding your user
@courses = Course.where("max_handicap >= ?", @user.handicap).order("distance ASC").limit(3)

これは、コース テーブルに「max_handicap」および「distance」という名前の列があり、users テーブルに「handicap」という名前の列があることを前提としています。このクエリは、ユーザーのハンディキャップ以上のハンディキャップを持つすべてのコースを検索し、距離が短いものから長いものへと並べ替えて、最初の 3 つを取得します。次に、それらをビューに表示するには、次のようにします。

<% @courses.each do |course| %>
  <h1><%= course.name %></h1>
  <h2>Handicap: <%= course.max_handicap %></h2>
  <h3>Course Distance: <%= course.distance %></h3>
<% end %>
于 2012-08-17T00:19:04.907 に答える