Ruby on rails 仅在Rails中呈现授权(设计)用户数据,无多余的空白空间
我正在尝试创建一个todo应用程序,允许用户创建列表,然后在每个列表下创建“todo”项目。但是,我希望每个用户只能看到他或她的列表。虽然我已经能够使用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">
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 %>
这样,页面上就不会包含所有这些空的
元素。这应该会清理掉所有的空白