【问题标题】:Ruby on Rails Dashboard partialsRuby on Rails 仪表板部分
【发布时间】:2016-06-27 18:37:15
【问题描述】:

我想制作一个任务仪表板,但我有一些问题。

我想要实现的目标:我想在一个页面上显示多个部分,它们相互响应。当您转到仪表板时,您有两列。第一列显示所有任务的列表,第二列显示您在第一列中单击的一个任务的详细信息(或自动在列表中最后创建的任务)

形象化我想要实现的目标: 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 %>

&lt;%= render partial: 'task_lists/index', collection: @task_lists %&gt; 已经有效,因此每项任务都列在一个列中。问题是&lt;%= render partial: 'task_lists/show', collection: @task_lists %&gt;,不起作用。

这是 _show.html.erb,其中“损坏的”部分链接到:

<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 说 ID 在文件 _show.html.erb 中是未定义的。

我的问题: 除非有人单击其他任务,否则如何使 Rails 自动选择第一个任务?因此,当您进入仪表板时,您会在第一列中看到任务列表,Rails 会自动选择第一个任务并在第二列中显示它的详细信息 (_show.html.erb)。当您单击第一列中的其他任务时,您将在第二列中看到该任务的详细信息。这在 Rails 或 JQUERY/javascript 中是否可行?

我希望我的问题很清楚,否则请告诉我。

提前致谢。

【问题讨论】:

    标签: javascript jquery ruby-on-rails ajax partials


    【解决方案1】:

    我认为您应该只将一项任务传递给显示部分而不是列表。你可以做类似的事情

    <%= render partial: "task_list/show", object: @task_list.selected %>
    

    接下来,您需要一种方法来识别活动/选定的任务(例如,实现我刚刚提出的 selected 方法)。这可能是用户单击任务时设置的任务属性?

    另外,看到您的设计,我认为如果您在前端使用 javascript/css 执行此操作会更好,但这可能是下一步。

    希望这有帮助,否则请告诉我!

    【讨论】:

    • 感谢您的回答,真的很有帮助,但是您的 rails 解决方案无法自动显示最后创建的任务,那么我们该如何解决呢?
    • 我认为我没有正确理解这个问题。你在哪里做一个新任务,你是怎么做的?
    • 好吧,当您将选定的方法添加到任务时,该方法在数据库中保存为 true、false 或 nill。假设用户没有点击/更改任务的条件,所以每个任务都是假的或空的,Rails 如何决定哪个任务(ID)被允许进入 _show.html.erb 页面?当 Rails 无法确定时,它会显示一条错误消息,指出 ID 未定义。
    猜你喜欢
    • 1970-01-01
    • 2013-08-25
    • 2023-04-02
    • 2012-07-07
    • 2016-02-26
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多