如何创建Formtastic“partials”

时间:2011-06-28 08:03:30

标签: ruby-on-rails ruby ajax forms formtastic

基本上,我正在尝试创建一组动态的复选框,这些复选框以相同的形式键入选择类别。例如,用户将从选择中选择一个类别,然后将出现相应子类别复选框的列表。

我以前只选择了这个,但这些更容易,因为你只需要提供一组通用的选项。复选框(特别是与formtastic)有很多相应的标记,我宁愿不自己生成。

我的问题是,如何让formtastic只创建正确的复选框,但仍然有他们的名字和id字段包含所有正确嵌套的信息。我希望它的行为与以下内容完全相同,但只输出最后一行,以便通过ajax发送。

= semantic_form_for @user do |u|
  = u.inputs :name, :age
  = semantic_fields_for :job do |f|
    = f.input :category, :as => :select, :collection => Category.all
    = f.input :subcategory, :as => :check_boxes, :collection => # This is what needs to be dynamic

我尝试使用包含在通用semantic_fields_for中的最后一行,但字段名称不再正确。

你会怎么做?

2 个答案:

答案 0 :(得分:0)

您需要使用帮助程序并将其定义为方法。例如:

def form_boxes(f)
  f.input :subcategory, :as => :check_boxes, :collection => stuff_goes_here
end

然后在您的观点中调用:

= form_boxes(f)

答案 1 :(得分:0)

我会试试这个:

= semantic_fields_for @user do |u|
  = semantic_fields_for :job do |f|
    = f.input :subcategory, :as => :check_boxes, :collection => some_thing

我很确定这应该有用。