2012-03-26 2 views
1

Я новичок в Rails и работаю над страницей, которая позволяет пользователям создавать вопрос и добавлять к нему несколько вариантов. (с использованием ajax)Как подойти к сложной вложенной форме формы rails (с Ajax)

Таким образом, страница должна иметь форму, которая позволяет пользователям добавлять заголовок вопроса, а также кнопку при щелчке, добавляет текстовое поле для добавления опции вопроса. Пользователь может нажимать кнопку «добавить» несколько раз и каждый раз ему нужно добавить текстовое поле для этой опции. В конце пользователь нажмет на сохранение, и вопрос вместе с параметрами будет сохранен.

Так у меня есть эта модель на вопрос,

class Question 
    include Mongoid::Document 
    field :title, :type => String 
    field :type, :type => String 

    embeds_many :question_options 
    accepts_nested_attributes_for :question_options 

Сейчас на мой взгляд, вопрос, я отображается форма для заголовка вопроса и типа. Я не уверен, как идти о построении полой формы для варианта вопроса, потому что я думаю, что каждый раз, когда пользователь нажимает на кнопку «добавить», мне нужно позвонить

@question.question_options.build 

Но что поездка сервера необходимому? Если да, то как мне узнать, на какой вопрос вызывать сборку, поскольку я еще не сохранил вопрос. Если нет, каким должен быть мой подход.

Спасибо!

+0

Кажется, я раньше не выглядел достаточно тяжело. Существует очень простой способ сделать вложенные формы, используя этот удивительный камень от Райана Бейтса под названием «nested_form» (https://github.com/ryanb/nested_form). Спасибо @robin за ваш вклад в это. –

ответ

0

Вам нужно всего лишь @question.question_options.build при первой загрузке страницы, чтобы у вас было одно поле «question_option».

Затем, когда пользователи нажимают кнопку «добавить», я думаю, что все, что вам нужно сделать, это дублировать первое поле «question_option» с помощью javascript.

Не уверен, что мое разъяснение ясно из этого. Скажи мне, если тебе нужно больше разъяснений.

+0

Это помогло. Также я нашел плагин для того же https://github.com/ryanb/nested_form –

Смежные вопросы