我对 rails 很陌生。我目前正在研究这个每隔几个月打开一次的问卷应用程序。用户给出的回复将保存在数据库中进行几轮调查,然后存档并删除。
管理员可以查看响应,并修改下一轮调查的现有调查问题列表。管理员在用户表下有一个固定的用户帐户,因为我目前正在使用 devise 进行身份验证。
我无法理解的部分是如何使修改问题成为可能,而不会影响过去几轮问卷的现有答复。我曾想过重复这些问题,但由于缺乏对 rails 的理解,我不太确定如何实现它。
这是我想出的当前模型:
cl Questionnaire < ApplicationRecord
has_many :responses
end
cl Response < ApplicationRecord
belongs_to :questionnaires
belongs_to :users
belongs_to :questions
end
cl Question < ApplicationRecord
has_many :responses
end
cl Users < ApplicationRecord
has_many :responses
end
@ zhenbin 我建议你使用一些作为 act_as_versioned gem 的东西,它保持版本与问题的每一个变化。所以当新用户给出调查最新的问题被拉,但是当调查响应被拉其相应的问题
为什么要修改问题?如果您进行下一轮调查,只需创建新调查即可。
此外,在您的模型中,您不能使用复数名称编写belongs_to
,因为您会收到错误,请参阅http://guides.rubyonrails.org/ociation_basics.html#the-belongs-to-ociation了解更多详细信息。
我建议导出每个调查后从数据库中的问题和答案,这样你就可以随时修改问题在以后的日期,而不必担心维护旧的问题 / 答案的关系。
它可以(例如)导出到数据库转储文件或 CSV 文件(营销部门love那些)。导出到 ruby 中的文件并不是很复杂,我认为您可以找到许多这样做的资源。例如,对于 CSV 导出,请查看CSV cl。
祝你好运
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(14条)