开发者

RAILS: I've got an action that calls itself, when the form of the action's view is being sent, now I want to rout out of that action

this time it's about Ruby On Rails.

I have a form in the view "progress.html.erb" and an action called "progress". When the form is sent, the action "progress" is called开发者_如何学编程 again. This must be like that, because I'm asking the user several questions by an automatic system.

Then, when the questioning is finished and the user is done with one seminar of questions, I want to route out of "progress" to "finishing" (where session data is erased and a "happy wishes"-site is shown).

But this won't work because of that routing error. There must be a way, even just rendering won't work :(

The complete system is the following: I have a box with different panels. In these panels are cards with questions. All card get asked to the user. When all panels evaluate to empty, the user is done.

Please help me!

Yours, Joern.


When you want to redirect, and then stop rendering, you need to not reach the end of control of the function. The way I do this (for redirecting when someone is somewhere they are not supposed to be, usually) is:

redirect_to(:finishing) and return

optionally, you can do this conditionally:

redirect_to(:finishing) and return if @survey.completed?


I'm not sure what routing error you're getting. Your question/problem isn't very clear. However, it sounds like you want to redirect_to(:finishing) at the end of #progress when the user is "done".

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜