2012-03-26 87 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 

但是,這是一趟服務器neccessary?如果是的話,我怎麼知道哪個問題可以調用構建,因爲我還沒有保存問題。如果不是,我應該怎麼做。

謝謝!

+0

看來我以前看起來不夠堅硬。現在有一種非常簡單的方法來使用Ryan Bates所謂的「nested_form」(https://github.com/ryanb/nested_form)中的這個驚人的寶石來嵌套窗體。感謝@robin在這方面的投入。 – 2012-03-27 04:09:37

回答

0

第一次加載頁面時,您只需要@question.question_options.build,這樣您將有一個「question_option」字段。

然後,當用戶點擊「添加」按鈕,我認爲你所要做的就是使用javascript複製第一個「question_option」字段。

不確定我的解釋是否清楚這一個。告訴我,如果你需要更多的澄清。

+0

這有幫助。我還發現了一個相同的https://github.com/ryanb/nested_form插件 – 2012-03-30 03:39:14

相關問題