仅基于id显示日志中的某些条目

时间:2013-06-12 16:19:22

标签: ruby-on-rails ruby ruby-on-rails-3 devise cancan

我的webapp中有一个日志,您可以输入小时数,当您输入小时数时,它会自动获取您登录的帐户(使用设计和cancan构建),并找到您的user_id和{{3} }

现在我似乎无法找到的是如何制作它以便它只显示带有user_id的日志。有没有办法在模型或控制器中而不是视图中执行此操作?

这是截至目前的观看代码。

<% @time_sheets.each do |time_sheet| %>
  <tr>
    <td><%= time_sheet.user_id %></td>
    <td><%= time_sheet.day %></td>
    <td><%= time_sheet.hours_worked %></td>
    <td><%= time_sheet.minutes_worked %></td>
    <td><%= link_to 'Show', time_sheet %></td>
    <td><%= link_to 'Edit', edit_time_sheet_path(time_sheet) %></td>
    <td><%= link_to 'Destroy', time_sheet, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>

它显示系统中每个人的日志,而不仅仅是该用户的日志。

1 个答案:

答案 0 :(得分:0)

Devise为您提供了一个名为current_user的辅助方法。在您的控制器中,您可以使用current_user.id按用户ID进行过滤。像这样:

@time_sheets = TimeSheet.where(:user_id => current_user.id).all

这将只为您提供当前登录用户的时间表。