我想创建一个任务-dasboard,但是我遇到了一些问题。
我想要实现的目标:我想在一个页面上显示多个部分,它们会相互回应。当您转到仪表板时,您有两列。第一列显示包含所有任务的列表,第二列显示您在第一列中单击的任务之一的详细信息(或自动列表中最后创建的任务)
图像可视化我想要实现的目标: https://gyazo.com/e87acf214e255817cdb03a22e3a35c4d
此时我的文件如下所示:
application.html.erb
<div class="main-content">
<section id="tasks">
<div class="wrapper">
<%= render partial: 'task_lists/index', collection: @task_lists %>
</div>
</section>
<section id="description">
<%= render partial: 'task_lists/show', collection: @task_lists %>
</section>
<%= yield %>
<%= render partial: 'task_lists/index', collection: @task_lists %>
已经有效,因此每个任务都列在一列中。问题是<%= render partial: 'task_lists/show', collection: @task_lists %>
,不起作用。
这是 _show.html.erb ,其中&#39;破坏&#39;部分链接:
<div class="row">
<div class="task_image">
<img src="../images/phone_img.png"></img>
</div>
<div class="task_heading">
<h1><%= @task_list.title %></h1>
<p class="user_info">For <%= @task_list.client_email %></p>
</div>
<div class="task_content">
<%= render @task_list.task_items %>
</div>
<div class="task_finish">
<div class="row">
<p>Finish task</p>
</div>
</div>
当我运行项目时,Rails说文件 _show.html.erb 中的ID是未分开的。
我的问题: 除非有人点击其他任务,否则如何让Rails自动选择第一个任务?因此,当您进入仪表板时,您会在第一列中看到任务列表,Rails会自动选择第一个任务并在第二列中显示它的详细信息( _show.html.erb )。当您单击第一列中的其他任务时,您将在第二列中看到该任务的详细信息。这可能在Rails中或使用JQUERY / javascript吗?
我希望我的问题很明确,请告诉我。
提前致谢。
答案 0 :(得分:0)
我认为你应该只将一个任务传递给show partial而不是列表。你可以做点什么
<%= render partial: "task_list/show", object: @task_list.selected %>
接下来,您需要一种方法来识别活动/选定的任务(例如,实现我刚刚提出的selected
方法)。这可能是当用户点击任务时设置的任务属性吗?
另外,看到你的设计,我认为如果你在前端使用javascript / css这样做会更好,但这可能是下一步。
希望这会有所帮助,否则请告诉我!