Ruby on rails 仅在Rails中呈现授权(设计)用户数据,无多余的空白空间

Ruby on rails 仅在Rails中呈现授权(设计)用户数据,无多余的空白空间,ruby-on-rails,ruby,devise,authorization,erb,Ruby On Rails,Ruby,Devise,Authorization,Erb,我正在尝试创建一个todo应用程序,允许用户创建列表,然后在每个列表下创建“todo”项目。但是,我希望每个用户只能看到他或她的列表。虽然我已经能够使用current\u userhelper部分解决这个问题,但索引页面显示了隐藏其他用户列表的空白区域 下面请查找我的待办事项列表视图中index.html.erb页面的代码 <% @todo_lists.each do |todo_list| %> <div class="index_row clearfix">

我正在尝试创建一个todo应用程序,允许用户创建列表,然后在每个列表下创建“todo”项目。但是,我希望每个用户只能看到他或她的列表。虽然我已经能够使用
current\u user
helper部分解决这个问题,但索引页面显示了隐藏其他用户列表的空白区域

下面请查找我的待办事项列表视图中index.html.erb页面的代码

<% @todo_lists.each do |todo_list| %>
  <div class="index_row clearfix">
    <% if todo_list.user == current_user %>
        <h2 class="todo_list_title"><%= link_to todo_list.title, todo_list %></h2>
        <p class="todo_list_sub_title"><%= todo_list.description %></p>
        <p><%= todo_list.user.first_name %></p>
    <% end %>
  </div>
<% end %>


<div class="links">
  <%= link_to "New Todo List", new_todo_list_path %>
</div>

以下是我在Github上的回购,以防您需要查看更多代码:


有没有办法隐藏这些空白以及不匹配的待办事项

如果索引视图是用户特定的,那么所需的实例变量也应该是用户特定的

而不是
@todo\u list=ToDoList.all


使用
当前用户。如果索引视图是用户特定的,则todo\u列出了has\u many/所属的
功能,而所需的实例变量也应该是用户特定的

而不是
@todo\u list=ToDoList.all


使用
当前用户。待办事项列表
功能由您的has\u many/所属

给定当前视图代码,即使当
待办事项列表.用户
当前用户
不匹配时,您也会不分青红皂白地发出
元素。只需将整个
移动到
当前用户
检查之外,如下所示:

<% @todo_lists.each do |todo_list| %>
  <% if todo_list.user == current_user %>
    <div class="index_row clearfix">
        <h2 class="todo_list_title"><%= link_to todo_list.title, todo_list %></h2>
        <p class="todo_list_sub_title"><%= todo_list.description %></p>
        <p><%= todo_list.user.first_name %></p>
    </div>
  <% end %>
<% end %>


这样,页面上就不会包含所有这些空的
元素。这应该会清理所有的空白。

给定您当前的视图代码,您不分青红皂白地发出
元素,即使
待办事项列表。用户
当前用户
不匹配。只需将整个
移动到
当前用户
检查之外,如下所示:

<% @todo_lists.each do |todo_list| %>
  <% if todo_list.user == current_user %>
    <div class="index_row clearfix">
        <h2 class="todo_list_title"><%= link_to todo_list.title, todo_list %></h2>
        <p class="todo_list_sub_title"><%= todo_list.description %></p>
        <p><%= todo_list.user.first_name %></p>
    </div>
  <% end %>
<% end %>

这样,页面上就不会包含所有这些空的
元素。这应该会清理掉所有的空白