1

我在我的 webapp 中有一个日志,您可以在其中输入小时数,当您输入小时数时,它会自动获取您登录的帐户(使用 devise 和 cancan 构建),并找到您的 user_id 是什么并将其添加到小时日志.

现在我似乎无法找到的是如何制作它,以便它只显示带有您的 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 %>

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

4

1 回答 1

0

Devise 为您提供了一个名为current_user. 在您的控制器中,您可以使用current_user.id. 像这样:

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

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

于 2013-06-12T16:24:11.357 回答