2011-12-05 59 views
0

首次發佈Stack Overflow時,希望我能夠做到這一點。Ruby/Rails中用戶的基於Web的表單構建器

我正在用Ruby on Rails編寫應用程序。不透露太多,前提是我們有組織和普通用戶。組織有事件,需要用戶在參與之前回答問卷。

我對這些模型/關係,我將使用相當肯定(這是不是真的那麼重要/有關我的問題,我認爲,只是想給背景):

  • 組織(一對多)事件
  • 事件(一對一)quesitonnaire)
  • 問卷(一對多)用戶
  • (特定)響應(一對一)用戶

的一部分,我有一個問題的是如何實現的問卷調查。我想賦予組織本質上寫/建立自己形式的能力。如果可能的話,我希望使用代碼遠離它們(即任何DSL和什麼)。

我想最簡單的方法是給它們一定數量的文本區域響應,這樣我就可以一直存儲數據,而不必爲如何配置存儲這些數據而煩惱例如,也許每個事件只能有5個響應由用戶的文本字段響應填充)。

我的理想是爲組織能夠動態地生成自己的方式 - 也許一個調查問卷將有1個文本輸入,其次是3點的倍數的選擇,並在年底,也許2簡短的回答;另一個可能有5個多重選擇,1個簡短的答案;還有一個問卷可能只有一個文本輸入...你明白了。

所以我看到了這個問題的兩個部分 - 第一個是組織創建調查問卷的用戶界面。我想象這不會非常困難 - 詢問他們每種反應類型(MC,簡答)他們想要放入表格中的數量,給他們重新排列它們的能力等。

問題的第二部分(我更關注的是)如何存儲/訪問這些數據。我猜測Ruby中沒有動態屬性類型的交易 - 將一些字段存儲在未指定數量的部分以及其他字段中。我想我可以讓它們單獨的模型(即question_response模式,具有:問題:RESPONSE_TYPE,:響應,等等),但我相當肯定這可能是低效的。

我最初的猜測可能是序列化數據/使用json;我曾短暫地使用Drupal 6,這似乎是他們所採取的方式。我想知道其他人是否有任何經驗/建議?我對Ruby非常陌生,所以我想知道是否有寶石出現,或者有什麼可以幫助我嘗試做什麼。

謝謝!

+0

對於初學者來說,http://railscasts.com/episodes/196-nested-model-form-part-1 - 它幾乎正是你想要的。 –

回答

0

,你可能覺得驗船師的寶石看起來

http://vimeo.com/7051279 *略顯陳舊如何做視頻

https://github.com/breakpointer/surveyor

測量師不來與它自己的DSL這是比較容易使用(雖然有時可能會受到限制)。數據保存爲一組問題 - 答案值,所以沒有實際的具體模型(超出調查 - >問題(question_groups) - >答案)。

最初我的確看過讓人們提交他們自己的Surveyor DSL規格 - 然後用於通過Rake命令生成實際調查。

我認爲,如果你需要建立一個動態模型(並保存數據),它是可能的,雖然我不是不知道,如果你能得到的Rake任務運行建立在實際的表由於權限限制而動態的方式。

看一看http://ruby-metaprogramming.rubylearning.com/和元編程紅寶石:計劃一樣由保羅·佩羅塔Ruby的優點,對於一些初學者。