我目前正与调查应用程序上的两位同事合作,我们差不多完成了,但是我们遇到了一些我认为是常见问题的东西。
基本上,当一个用户与调查交互时,此操作将针对所有其他用户执行。 IE约翰击中了下一个,玛丽接下来,玛丽最终跳过了一个问题。这显然不是我们想要的。我们希望将问题对象彼此分开,或者将它们与帐户绑定,或者为每个帐户对象创建它们,以允许多个用户一次与调查交互,并且他们的操作/答案是互斥的。是否有一些通常的方式在rails中执行此操作,或者甚至称为什么?任何链接的材料都非常感谢。
class QuestionsBasicController < ApplicationController
@@a = 0
def index
@b = @@a
@userprojid = current_user.project_id
@@compid= QuestionsBasic.connection.select_all("SELECT company_id FROM project WHERE ID ="+@userprojid.to_s)
@@compid= @@compid.rows[0][0]
@result = QuestionsBasic.connection.select_all("SELECT questiontxt FROM questions_basic WHERE company_id="+@@compid.to_s)
@@fanarray = @result.rows
@anarray = @@fanarray
end
def next
@@a += 1
@b = @@a
@anarray = @@fanarray
render "questions_basic/index"
end
def previous
if @@a <= 0
@@a = 1
end
@@a -= 1
@b = @@a
@anarray = @@fanarray
render "questions_basic/index"
end
用户模型
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :answers_basics, :class_name => 'AnswersBasic'
has_many :answers_basics, :class_name => 'AnswersBasic'
has_many :answers_basic_anies, :class_name => 'AnswersBasicAny'
has_many :answers_basic_anies, :class_name => 'AnswersBasicAny'
has_many :answers_tmps, :class_name => 'AnswersTmp'
has_many :answers_tmps, :class_name => 'AnswersTmp'
has_many :answers_tmp_anies, :class_name => 'AnswersTmpAny'
has_many :answers_tmp_anies, :class_name => 'AnswersTmpAny'
has_many :user_anies, :class_name => 'UserAny'
has_many :user_anies, :class_name => 'UserAny'
belongs_to :project, :class_name => 'Project', :foreign_key => :project_id
end