Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 Rails-如何排序多个关联?_Ruby On Rails 3 - Fatal编程技术网

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我试图避免这种情况,因为它似乎重复了现有的信息。我试图做的是如何将开放式问题与多选式问题混合在一起,并以某种方式记录它们的顺序。