【问题标题】:Web-based form-builder for users in Ruby/RailsRuby/Rails 中用户的基于 Web 的表单构建器
【发布时间】:2012-01-13 01:35:24
【问题描述】:

第一次在 Stack Overflow 上发帖,希望我做得对。

我现在正在使用 Ruby on Rails 编写应用程序。不透露太多,前提是我们有组织,有普通用户。组织有活动,需要用户在参与之前回答问卷。

我很确定我将使用的这些模型/关系(我认为这对我的问题并不那么重要/相关,只是想提供背景):

  • 组织(一对多)事件
  • 事件(一对一)问卷)
  • 问卷调查(一对多)用户
  • (特定)响应(一对一)用户

我有一个问题是如何实施调查问卷。我想赋予组织本质上编写/构建自己的表单的能力。如果可能的话,我想远离他们使用代码(即任何 DSL 等等)。

我想最简单的方法是给他们一定数量的文本区域响应,这样我就可以始终如一地存储数据,而不必为如何配置存储这些数据而烦恼(例如,也许每个事件只能有 5 个响应由用户的文本字段响应填写)。

我的理想是让组织能够自行动态生成表格 - 也许一份问卷将有 1 个文本输入,然后是 3 个多项选择,最后可能有 2 个简短答案;另一个可能有5个选择题和1个简答题;另一个问卷可能只有 1 个文本输入……你明白了。

所以我看到了这个问题的两个部分 - 第一个是组织创建调查问卷的用户界面。我想这不会很困难 - 询问他们希望将每种响应类型(MC,简短回答)的数量放入表单中,让他们能够重新排列它们,等等。

问题的第二部分(我更关心的)是如何存储/访问这些数据。我猜在红宝石中没有动态属性类型的交易 - 存储一些具有未指定数量的部分的字段等等。我想我可以让它们成为所有单独的模型(即 question_response 模型,带有 :question、:response_type、:response 等),但我很确定这可能效率低下。

我最初的猜测可能是序列化数据/使用json;我曾短暂地使用过 Drupal 6,这似乎是他们的做法。我想知道是否还有其他人有任何经验/建议?我对 Ruby 很陌生,所以我想知道那里是否有宝石或者可以帮助我尝试做的事情。

谢谢!

【问题讨论】:

标签: ruby-on-rails json forms serialization dynamic


【解决方案1】:

你可能想看看测量员宝石

http://vimeo.com/7051279 *略显老旧的操作视频

https://github.com/breakpointer/surveyor

Surveyor 确实带有它自己的 DSL,它相对容易使用(尽管有时可能会有点限制)。数据保存为一组问答值,因此没有实际的具体模型(除了调查 -> 问题 (question_groups) -> 答案)。

最初我确实考虑让人们提交他们自己的 Surveyor DSL 规范 - 然后将用于通过 Rake 命令生成实际调查。

我认为如果您需要构建动态模型(并保存数据),这是可能的,但我不确定您是否能够运行 Rake 任务以动态构建实际表由于权限限制的方式。

看看http://ruby-metaprogramming.rubylearning.com/ 和 Metaprogramming Ruby: Program Like the Ruby Pros by Paolo Perrotta,对于一些初学者来说。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-22
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    相关资源
    最近更新 更多