Rails - 如何在不刷新的情况下创建一个复选框,以便在选中时呈现不同的表单?

时间:2013-03-10 21:12:35

标签: ruby-on-rails checkbox

正如标题所示,我想知道如何在视图上创建一个复选框,该复选框将更改在不刷新页面的情况下呈现的表单。

在我的app/views/home/文件夹中,我有_form_1.html.erb_form_2.html.erb

我希望在未选中此框时默认为<%= render 'form_1' %>,并在选中此框时更改为<%= render 'form_2' %>

我试图查找如何执行此操作,但.is(":checked")check_box_tag等内容似乎对我不起作用,或者我使用它们是错误的。

任何帮助表示赞赏!

编辑:我使用的是Rails 3.2.12和Ruby 1.9.3。

2 个答案:

答案 0 :(得分:0)

我这样做的方法是从另一个视图渲染表单部分,并将它们中的每一个放在div中。默认表单div应该是可见的,并且应隐藏可选的表单div。然后,您可以通过复选框上的单击操作切换div的显示。

根据表单中的内容以及它们与控制器的交互方式,处理中可能还有很多其他工作,但为了切换显示的表单,上面的方法是一个选项。

答案 1 :(得分:0)

如果你想在没有刷新的情况下这样做,你将不得不使用javascript。你要做的是渲染每个表格,但是hidden。使用jquery,下一部分非常简单。当选择了一个复选框时,您只需执行类似$('#form1').show()的操作,反之亦然$('#form2').hide()