我是 Rails 3.2 上的 Ruby 1.9.3 的新手,并且正在从事个人项目来学习。这是一个非常基本的多项选择琐事游戏,我在控制器和视图中编写代码以使用户能够单击将随机显示问题和 question_choices 的“播放”链接时遇到问题。然后,用户应选择对应于四个 question_choice 之一的四个单选按钮之一。问题和 question_choice 被添加到 user_answers 表中,然后显示下一个问题。另外,我不希望用户两次看到相同的问题。
这是我的模型:
class User < ActiveRecord::Base
attr_accessible :name, :email, :password, :password_confirmation
has_many :questions
has_many :question_choices
has_many :user_answers, dependent: :destroy
end
class Question < ActiveRecord::Base
attr_accessible :level, :question, :is_active
has_many :user_answers, through: :question_choices
has_many :question_choices, dependent: :destroy
end
class QuestionChoice < ActiveRecord::Base
attr_accessible :choice, :is_correct, :question_id
has_many :user_answers, dependent: :destroy
belongs_to :question
end
class UserAnswer < ActiveRecord::Base
attr_accessible :answer_time, :user_id, :question_choice_id, :question_id
belongs_to :user
belongs_to :question
belongs_to :question_choice
end
我的路线:
Trivia::Application.routes.draw do
root to: 'static_pages#home'
resources :sessions, only: [:new, :create, :destroy]
resources :questions do
resources :question_choices
end
resources :users
resources :user_answers
end
我已经能够将脚手架分别用于“索引”、“新”、“编辑”和“显示”,但我很难将它们捆绑在一起,以便用户可以看到问题和问题选择然后选择一个,他们的 UserAnswers 就会更新。
任何帮助将不胜感激。
谢谢你。谢恩