我有一堆对象,我按照它们发生的那一天对它们进行了分组。
scope :grouped_by_user_with_total_time, lambda {
group(:user_id, :day).select('user_id, SUM(time_worked) AS time_total, day, editable, approvable, accepted, comments')
}
我也有一些改变可编辑、可批准和接受的方法。但是现在由于它们已分组,因此在尝试批准分组对象时出现此错误。
找不到没有 ID 的 TimeLog
我的approve
方法:
def approve
@time_logs = []
t = TimeLog.find(params[:time_logs])
if t.instance_of?(Array)
@time_logs = t
else
@time_logs << t
end
end
我必须进行哪些更改才能使这些方法适用于所有分组在一起的工时记录?
<% @time_logss.each do |timelog| %>
<% if timelog.user_id != current_user.id %>
<tr>
<!--<td><%# check_box_tag 'accept' %></td>-->
<td><%= timelog.id_name %></td>
<td><%= timelog.day.strftime("%B %d, %Y") %></td>
<td><%= timelog.time_total %></td>
<td><%= timelog.state %></td>
<% if timelog.state == "Submitted" %>
<td><%= link_to "Approve", approve_time_sheets_path(time_sheets: timelog), method: :put %></td>