问卷设计的程序:Rails:问卷应用程序的模型设计(app design questionnaire)

我对 rails 很陌生。我目前正在研究这个每隔几个月打开一次的问卷应用程序。用户给出的回复将保存在数据库中进行几轮调查,然后存档并删除。

管理员可以查看响应,并修改下一轮调查的现有调查问题列表。管理员在用户表下有一个固定的用户帐户,因为我目前正在使用 devise 进行身份验证。

我无法理解的部分是如何使修改问题成为可能,而不会影响过去几轮问卷的现有答复。我曾想过重复这些问题,但由于缺乏对 rails 的理解,我不太确定如何实现它。

这是我想出的当前模型:

class Questionnaire < ApplicationRecord
  has_many :responses
end
class Response < ApplicationRecord
  belongs_to :questionnaires
  belongs_to :users
  belongs_to :questions
end
class Question < ApplicationRecord
  has_many :responses
end
class Users < ApplicationRecord
  has_many :responses
end
0

@ zhenbin 我建议你使用一些作为 act_as_versioned gem 的东西,它保持版本与问题的每一个变化。所以当新用户给出调查最新的问题被拉,但是当调查响应被拉其相应的问题

0

为什么要修改问题?如果您进行下一轮调查,只需创建新调查即可。

此外,在您的模型中,您不能使用复数名称编写belongs_to,因为您会收到错误,请参阅http://guides.rubyonrails.org/association_basics.html#the-belongs-to-association了解更多详细信息。

0

我建议导出每个调查后从数据库中的问题和答案,这样你就可以随时修改问题在以后的日期,而不必担心维护旧的问题 / 答案的关系。

它可以(例如)导出到数据库转储文件或 CSV 文件(营销部门love那些)。导出到 ruby 中的文件并不是很复杂,我认为您可以找到许多这样做的资源。例如,对于 CSV 导出,请查看CSV class

祝你好运

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(840)
Ios手机投屏电脑:完美的闪屏大小的智能手机 平板电脑在Android
上一篇
快速注册小程序:在快速 API中注册乌龟信号(fast tortoise)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(7条)