我正在开发一个新项目:后端有用户,其中有_many“课程”,也有_many“步骤”。
我希望 javascript 验证用户的答案 - 即假设用户输入“6”,这是正确的答案。我想检查的功能看起来像这样。
function match_answer(course, answer){
}
如果 JS 事件被证明是真的,我希望它改变后端的 state_machine。state_machine 如下:
class Step < ActiveRecord::Base
...
state_machine initial: :pending do
state :pending, value: 0
state :finished, value: 1
event :finish do
transition :pending => :finished
end
event :restart do
transition :finished => :pending
end
end
end
我想要一个 javascript 事件来更改状态机状态的原因是因为当用户重新登录时,我希望他们去课程中的适当位置。
1) 如何使用 javascript 事件更改 state_machine 的状态?更具体地说,如果 match_answer 函数证明为真,我如何将状态从 :pending 更改为 :finished。
2)假设正确的答案(将检查用户的答案)存储在数据库中,我该如何从数据库中获取正确的答案以便在 match_answer javascript函数中实现它以检查用户的答案?
您可以指出我的任何帮助或资源将不胜感激。