Ruby on rails 3 Rails-如何排序多个关联?
我想让我的应用程序的用户能够创建具有任意数量问题的在线投票。问题有两种:选择题和开放式 我的想法是建造这样的东西:Ruby on rails 3 Rails-如何排序多个关联?,ruby-on-rails-3,Ruby On Rails 3,我想让我的应用程序的用户能够创建具有任意数量问题的在线投票。问题有两种:选择题和开放式 我的想法是建造这样的东西: Poll has_many open_question has_many multichoice_questions User has_many Polls has_many OpenQuestions && MultichoiceQuestions @user = current_user @poll = @user.polls.find(params
Poll
has_many open_question
has_many multichoice_questions
User has_many Polls has_many OpenQuestions && MultichoiceQuestions
@user = current_user
@poll = @user.polls.find(params[:poll_id])
@open_questions = @poll.open_questions.order('created_at ASC')
与相应的属于关联模型中的
如何保存问题出现的顺序,以便在进行投票时可以重新创建
我正在考虑用问题id和类型序列化一个有序的3D数组,但这感觉不对(它将相同的信息保存两次)
Rails用什么方法来建模?如果是我,我会这样设置我的模型:
Poll
has_many open_question
has_many multichoice_questions
User has_many Polls has_many OpenQuestions && MultichoiceQuestions
@user = current_user
@poll = @user.polls.find(params[:poll_id])
@open_questions = @poll.open_questions.order('created_at ASC')
然后我可以这样做:
Poll
has_many open_question
has_many multichoice_questions
User has_many Polls has_many OpenQuestions && MultichoiceQuestions
@user = current_user
@poll = @user.polls.find(params[:poll_id])
@open_questions = @poll.open_questions.order('created_at ASC')
或者,如果您觉得需要更多的控制,您可以利用一些作用域
在问题中包括顺序model@aromero我试图避免这种情况,因为它似乎重复了现有的信息。我试图做的是如何将开放式问题与多选式问题混合在一起,并以某种方式记录它们的顺序。