【发布时间】:2015-06-02 05:29:51
【问题描述】:
我正在尝试在我的 rails 4 应用中使用简单的表单。
我有一个项目模型,它有一个范围模型。范围属于项目。我有第三个模型,称为参与者,它属于范围。范围接受参与者的嵌套属性,项目接受范围的嵌套属性。
当我创建一个新项目时,我的表单有部分是每个范围和参与者的嵌套表单。在我的范围表中,我询问该项目是否涉及参与者。如果答案是真的,我会使用 JS 表单助手来显示包含参与者表单的隐藏部分。
如果在创建项目后我想对其进行编辑,编辑功能会将我返回到项目表单,该表单显示参与者复选框(为真),但隐藏参与者表单。
我的问题是,如果参与者复选框被选中为真,那么嵌套在项目表单中的参与者表单应该被显示出来。我的 JS 表单助手隐藏此表单,直到该框被选中为真,这在创建模式下工作正常,但我需要取消选中范围表单中的参与者框并重新选中它以显示参与者表单 -以便我可以编辑这些字段。
如果询问参与的范围问题是真实的,而无需取消选中并重新选中表单,您是否知道如何显示参与者表单?
我的代码如下:
在我的 JS 表单助手中,我有(隐藏参与者嵌套表单,除非询问是否寻求参与的范围问题是真的):
$(document).on 'change', '#' + inString + '_scope_attributes_if_participant', ()->
if $('#' + inString + '_scope_attributes_if_participant').is(':checked')
$('#participationrequest').show()
else
$('#participationrequest').hide()
在我的范围表单中,我有:
<%= s_all.input :if_participant, :as => :boolean, :label => false, inline_label: 'Public participants or volunteers' %>
谢谢
【问题讨论】:
-
我找到了一种可行的方法,即:
标签: javascript ruby-on-rails simple-form