앱 사용자는 항목을 수정하거나 삭제하기 전에 계정을 활성화해야합니다.Rails는 계정이 활성 상태 일 때 상태를 확인합니다.
어떻게 상태를 비활성에서 활성으로 설정할 수 있습니까? 나는 pluginweek에서 state_machine을 사용하여 상태를 설정하고 있습니다.
state_machine initial: :inactive do
event :activate do
state = 'active'
end
end
정품 인증 조치라고하는 컨트롤러가 전자 메일을 통해 사용자에게 전송됩니다.
def activate
@entry = Entry.find([:id])
if (check_email_link(@entry.exp_date))
if @entry.save
flash[:notice] = t("activate")
redirect_to @entry
else
flash[:error] = t("already_activated")
redirect_to @entry
end
else
flash[:error] = t("timeout")
redirect_to @entry.new
end
끝 문서 내가 entry.state를 통해 Städte을 설정할 수 있지만 rhis가 작동하지 않습니다 말한다.
왜 항목이 활성화되지 않습니까? 모든 도움을 줄 수 있습니까?
는 ['state_machine']에 대한 설명서 (https://github.com/pluginaweek/를 읽고 상태 머신)? –
예, 문제입니다. 문서는 진술했다. 상태 나는 상태를 설정할 수 있습니다. 하지만이 작동하지 않습니다 – amarradi
작업에 대한 오류 로그가 있습니까? 또는 레일 콘솔에서 메소드를 시도하십시오. '@user.activate'를 실행하고 작동하는지 또는 오류인지 확인하십시오. 나는 [state_machine] (https://github.com/pluginaweek/state_machine)을 사용하고 [# 261] (https://github.com/pluginaweek/state_machine/issues/261) 및 [# 334] (https://github.com/pluginaweek/state_machine/issues/334). 해결책은 대신 [state_machines-activerecord] (https://github.com/state-machines/state_machines-activerecord)를 사용하여 보석을 변경하는 것입니다. – gaga5lala