我正在创建一个动作跟踪器/待办事项列表,我想为每个动作项目分配点数。我想允许用户添加他们想要的任意数量的项目,但是对所有操作项目的“totalpts”总和的限制为1000.我该怎么做?
作为参考,这是我的显示代码的一部分:
<% @todo_list.todo_items.order('totalpts DESC').each do |todo_item| %>
<% if todo_item.completed? && todo_item.created_at.strftime("%U").to_i == Date.today.strftime("%U").to_i %>
<tr id="<%= dom_id(todo_item) %>">
<td><%= todo_item.completed_at.strftime("%A ") %></td>
<td><%= todo_item.content %></td>
<td><%= todo_item.currentpts %></td>
<td><%= todo_item.totalpts %></td>
答案 0 :(得分:0)
您始终可以使用min
课程中的Enum
功能。
[1, 3].min
=> 1
这就是你应该寻找的东西。
[1000, calculate_points_for_action(action)].min
这应该返回两者之间的较小数字。在这种情况下,1000
是给定操作可以获得的最大点数。
我还会考虑将1000
放入常量。这样,您可以在以后轻松更改它,只需要在单个位置进行更改,而不必查找所有调用。