【发布时间】:2011-04-21 17:40:48
【问题描述】:
我正在一个网站上实施问卷调查。有多个问卷,每个都有部分,每个部分都有问题。用户可以填写零个或多个问卷。
型号代码如下。 ERD 图片http://i.stack.imgur.com/6Y0r3.png
在视图中保持部分层次结构的同时存储/显示问题结果的“Rails 方式”是什么?我不介意编写代码,但不确定我是否遗漏了一些明显的东西。我从 Question 模型中的方法开始,但它没有利用 Form Helpers 等。
#Simplistic view code
%h1= @user_questionnaire.questionnaire.value
- for section in @user_questionnaire.questionnaire.sections
%h4=section.value
%br
- for question in section.questions
=question.value
=question.result(@user_questionnaire.id)
欢迎提出任何想法。谢谢! 唐纳德
型号代码
class Questionnaire < ActiveRecord::Base
has_many :sections
has_many :user_questionnaires
end
class Section < ActiveRecord::Base
belongs_to :questionnaire
has_many :questions
end
class Question < ActiveRecord::Base
belongs_to :section
has_many :user_questionnaire_results
def result(uq_id)
uqr = UserQuestionnaireResult.where(:question_id => self.id, :user_questionnaire_id => uq_id).first
uqr.result
end
end
class UserQuestionnaire < ActiveRecord::Base
belongs_to :questionnaire
has_many :user_questionnaire_results
belongs_to :user
end
class UserQuestionnaireResult < ActiveRecord::Base
belongs_to :user_questionnaire
belongs_to :question
end
【问题讨论】:
标签: ruby-on-rails ruby activerecord