【问题标题】:Rails nested forms separatedRails 嵌套表单分隔
【发布时间】:2018-10-08 10:41:29
【问题描述】:

我在创建以自己的形式操作的嵌套表单(如果这有意义的话)方面的一些方向。我创建了一些图表来帮助解释我所追求的。

我的嵌套表单工作正常,我只是想知道以下是否可行。

我知道我没有任何代码要显示,但我不知道从哪里开始,因此非常感谢任何指导或帮助。

型号

class General < ApplicationRecord
 belongs_to :operation
 belongs_to :report
end

表格

<%= form_with(model: general, local: true) do |f| %>
 <h1>General</h1>
 <%= f.text_field :first_name %>
 <%= f.text_field :last_name %>
 <%= f.collection_select :property_id, Property.all, :id, :name %>
 <%= f.collection_select :field_id, Field.all, :id, :name %>
 <h1>Operations</h1>
  <%= f.fields_for :operations do |o| %>
  <%= o.text_field :model %>
  <%= o.text_field :type %>
  <%= o.collection_select :status_id, Status.all, :id, :name %>
 <% end %>
 <h1>Reports</h1>
 <%= f.fields_for :report do |r| %>
  <%= r.text_field :first_name %>
  <%= r.text_field :last_name %>
  <%= r.text_area :comments %>
 <% end %>
 <%= f.submit 'Submit' %>
<% end %>

这是我在OperationsReports中使用嵌套表单的标准表单,结果如下:

我希望将 OperationsReports 表格分开,并在 General show route 中放置一个链接。

用户将点击Operations链接并调出嵌套表单进行编辑。

【问题讨论】:

  • 你说用户将点击操作链接并调出嵌套表单进行编辑那么创建呢?您希望如何创建操作和报告?

标签: ruby-on-rails ruby-on-rails-5


【解决方案1】:

我不确定我是否理解正确,但我想您可以使用 CSS 隐藏操作和报告,添加两个按钮并在每个按钮上添加一个事件侦听器,以在点击时显示操作表单和报告表单(更改隐藏的嵌套表单 CSS)。

【讨论】:

  • 谢谢 arieljuod。这可能吗?我看过很多关于同一页面隐藏/显示 javascript 函数的教程,但不是针对下一页/显示页面应用程序的。
  • “下一页/显示页面应用程序”是什么意思?如果我理解你想要什么,你可以在一个 div 上包装操作和报告,用 CSS 的 display: none 隐藏它们,然后为每个按钮添加一个 onclick 事件监听器,将 display 属性更改为 block。我不确定您阅读了哪些教程。现在我看到您正在尝试在 show 操作中添加这些块,但它是相同的,只需在显示 html 上添加表单,也没有常规字段,但带有隐藏块和隐藏/显示它们的链接。
  • 抱歉,我的意思是有可能让 DOM 记住点击一个页面到一个新页面吗?我对JS不熟悉。我还没有遇到过这方面的教程。
  • 你需要使用 js。显示/隐藏表格。可能通过操作表单 css 使表单可编辑。所以我建议你阅读更多关于 javascript / jquery 的内容。
  • 您可以根据点击的链接在链接的 url 上传递参数。如果您使用的是表单,则可以有多个类型为“提交”的按钮,以根据单击的按钮发送不同的值。由于您没有代码,因此很难提出建议。
猜你喜欢
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
相关资源
最近更新 更多