Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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_Angularjs - Fatal编程技术网

Ruby on rails 将重复的块传递给窗体

Ruby on rails 将重复的块传递给窗体,ruby-on-rails,ruby,angularjs,Ruby On Rails,Ruby,Angularjs,我有一个包含多个“li”元素的表单,其中包含表单字段,唯一不同的是多个位置中的一个单词。例如: li = f.label :answer_tax, 'Tax' = f.text_field :answer_tax, 'ng-model' => 'Form.tax', 'ng-pattern' => '{{pattern}}', 'ng-focus' => 'initFields(Form.tax)', 'ng-blur' => 'updateSco

我有一个包含多个“li”元素的表单,其中包含表单字段,唯一不同的是多个位置中的一个单词。例如:

li
  = f.label :answer_tax, 'Tax'
  = f.text_field :answer_tax,
  'ng-model' => 'Form.tax',
  'ng-pattern' => '{{pattern}}',
  'ng-focus' => 'initFields(Form.tax)',
  'ng-blur' => 'updateScore(Form.tax, "tax")'

li
  = f.label :answer_chase, 'Chase'
  = f.text_field :answer_chase,
  'ng-model' => 'Form.chase',
  'ng-pattern' => '{{pattern}}',
  'ng-focus' => 'initFields(Form.chase)',
  'ng-blur' => 'updateScore(Form.chase, "chase")'

我想创建一个分部,它从数组中提取每个单词并生成表单字段。在哪里做这件事最好(助手?),我该怎么做?谢谢您的时间。

您可以在视图中完成,如果您觉得这更简单,甚至不需要使用分部(我假设您使用的是HAML?如果我是对的,您应该在li标签上有%):


这是惊人的。我用的是slim,但基本上是一样的。非常感谢你的帮助。
- %w{ tax chase }.each do |field_name|
  %li
    = f.label "answer_#{field_name}".to_sym, field_name.capitalize
    = f.text_field "answer_#{field_name}".to_sym,
    'ng-model' => "Form.#{field_name}",
    'ng-pattern' => '{{pattern}}',
    'ng-focus' => "initFields(Form.#{field_name})',
    'ng-blur' => "updateScore(Form.#{field_name}, \"#{field_name}\")"