0

我正在使用这个程序,在输入一堆关于你的高尔夫比赛的信息后,它会计算你的差点。然后,在旁边(就像在 Excel 中一样),我有一个表格,其中列出了高尔夫球场名称、最大障碍和距离。

我想通过以下方式将带有高尔夫球场名称、差点和距离信息的表实现到我的程序中:一旦程序计算出你的差点,它就会查看这个表,并且(可能通过排序)找到所有您的障碍低于该课程的最大障碍的课程。然后,从这些课程中按最短距离排序找到前三名。

我希望这是有道理的。让它发挥作用的最佳方法是什么?我应该创建一个存储这些值的表还是某种数组?

4

1 回答 1

0

您可以制作一个名为“courses”的表格,其中存储高尔夫球场名称、距离、最大障碍以及其他任何内容。然后在您的控制器中执行以下操作:

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

这假设您的课程表中有名为“max_handicap”和“距离”的列,并且您的用户表中有一个名为“障碍”的列。查询查找所有障碍 >= 用户障碍的课程,按从最短到最长的距离排序,并取前三个。然后要将它们显示在您的视图中,请执行以下操作:

<% @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 回答