Ruby on rails 将重复的块传递给窗体
我有一个包含多个“li”元素的表单,其中包含表单字段,唯一不同的是多个位置中的一个单词。例如: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
= 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}\")"