Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 改革以包装要同时保存的记录集合_Ruby On Rails_Ruby_Reform - Fatal编程技术网

Ruby on rails 改革以包装要同时保存的记录集合

Ruby on rails 改革以包装要同时保存的记录集合,ruby-on-rails,ruby,reform,Ruby On Rails,Ruby,Reform,我有一组与特定父对象相关的记录。我不需要更新家长,只想更新所有的孩子 我试着制作一个Reform::表单并简单地添加集合声明。一个例子可能是开发人员有许多项目。当开发者休假时,他的项目处于“暂停状态”,但其中一些项目可能仍然处于活动状态。因此,我想列出所有项目,并用复选框检查它们是否应该被搁置。我基本上想要一个简单的字段:项目 为此进行改革有意义吗 我有以下代码: class ProjectsForm < Reform::Form collection :projects do

我有一组与特定父对象相关的记录。我不需要更新家长,只想更新所有的孩子

我试着制作一个Reform::表单并简单地添加集合声明。一个例子可能是开发人员有许多项目。当开发者休假时,他的项目处于“暂停状态”,但其中一些项目可能仍然处于活动状态。因此,我想列出所有项目,并用复选框检查它们是否应该被搁置。我基本上想要一个简单的字段:项目

为此进行改革有意义吗

我有以下代码:

class ProjectsForm < Reform::Form

    collection :projects do
      property :name  #perhaps I want to rename them in the same form (bear with me)
      property :on_hold
    end
end
我犯了一个错误

未定义的方法“projects”#

就像收集方法不起作用一样。我显然在做一些愚蠢的事

我真的很想用改革。我喜欢许多开创性的宝石套装背后的哲学。如果有人能给我指出正确的方向,那就太好了

如果这不是一个很好的改革用例,我会找到另一个:p

更新:

我认为改革比我想象的更像是一种模式。我认为它只是一个具有属性的表单对象,可以很好地使用表单生成器。我现在发现你的模型是关键。您需要使用一个模型初始化改革表单,或者在组合的情况下,使用几个模型初始化改革表单。但是,如果传入一个散列数组,您会认为这就是模型,然后尝试访问模型上的:projects属性。就我而言,这是一份杂烩

我现在添加了一个

# my contrived example is getting lame
attr_accessor :projects 
对于开发人员类,它正在工作。至少,生成改革对象的程序正在运行


我仍然好奇这是否是一个很好的改革用例。

尝试作为数组
ProjectForm传递。新的([{projects:@array\u of_projects}])
同样的问题-只是数组上未定义的方法。你应该将
@array\u of_projects
转换为
数组\u of_hashes=[{project:project1},{project:project2},{project:project3}]
然后传递到您的查询
@form=ProjectsForm.new(哈希数组)
# my contrived example is getting lame
attr_accessor :projects