我正在開發一個新項目:後端有has_many「課程」,也有has_many「Steps」的用戶。JS事件觸發狀態機(rails)中的後端狀態更改?
我想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函數證明爲真,我該如何將狀態從:掛起改爲:已完成。
2)假設正確答案(將檢查用戶的答案)存儲在數據庫中,我如何從數據庫中獲取正確的答案,以便在match_answer javascript函數中執行以檢查用戶的答案?
任何幫助或資源,你可以指向我會非常感激。