我花了最后一天尝试不同的东西并在互联网上搜索答案,但我只是卡住了。
我有一个 Rails 应用程序(4.0),它记录了健身房为不同的电梯制作的 PB。
我想显示 1 次、3 次和 5 次的最高重量。
我的控制器看起来像这样。
@history = current_user.workouts.order("weight DESC","reps DESC").group_by(&:lift)
我认为的代码如下......
<% @history.each do | lift, workout | %>
<% name = lift[lift].downcase.gsub(/[ &]/,'') %>
<tr>
<td><%= link_to lift[lift], send("workouts_lift_#{name}_path") %></td>
<td><%= workout.where(:reps => 1).max_by(&:weight).weight %> kg</td>
<td><%= workout.where(:reps => 3).max_by(&:weight).weight %> kg</td>
<td><%= workout.where(:reps => 5).max_by(&:weight).weight %> kg</td>
</tr>
<% end %>
我不断收到 where 方法的错误。我不清楚问题是什么,因为我可以使用它在 Rails 控制台中工作
user.workouts.where(:reps=> 1).where(:lift => "Snatch")