Как показать разные метки при использовании nested_for

https://github.com/railscasts/196-nested-model-form-part-1/blob/master/surveysays/app/views/surveys/_question_fields.html.erb

В приведенном выше фрагменте мы показываем одну и ту же метку (например, Вопрос), но мне нужно показать что-то вроде Вопрос1, Вопрос2, Вопрос3, если я хочу создать 3 разных строки.

Логика отображения меток будет частью самого Вопроса как части модели данных Вопроса. Также мы хотели бы инициализировать несколько полей перед отображением самого Вопроса, как мне это сделать?

class Question < ActiveRecord::Base {
  content
  foo_id
  bar_id
}

В приведенном выше случае, кроме содержимого, я хотел бы инициализировать foo_id, bar_id, который будет отличаться для разных вопросов.

e..g Question1 ("Who is the president of US?", 1, 2)
e..g Question2 ("Who is the president of Spain?", 2, 4)
e..g Question3 ("Who is the president of Germany?", 3, 6)

1 ответ

Вы можете использовать Embedded Ruby в представлении для отображения атрибута объекта Form Builder, с которым вы работаете. Например, в моем представлении HAML, позвонив .object на contractЯ могу получить доступ к атрибутам для этого объекта.

= form_for @contract do [contract]
  %fieldset
    %legend="Enter Details for Contract #{contract.object.id}"
      = contract.label :name
Другие вопросы по тегам