我对Ruby很新,可能做的不正确但是如何在没有路径的情况下进行控制器操作?
我需要此控制器仅用于从另一个控制器重定向。 见下文
def redirect_to_correct_stage
case @lession_stats.stage
when 'stage1'
puts "Redirecting to stage1"
redirect_to :action => :stage1
return
when 'stage2'
puts "Redirecting to stage2"
redirect_to :action => :stage2
return
when 'stage3'
puts "Redirecting to stage3"
redirect_to :action => :stage3
return
else
redirect_to root_path, :alert => t(:error_unknown_stage)
end
端
我的主要操作是redirect_to_correct_stage并且具有正确的路径('/ word'),我需要将其重定向到基于模型值的正确操作。
一切正常但现在人们可以使用('/ stage3')直接进入stage3 当然,我可以在stage3动作中添加更多检查,但我不想检查两次。
我该怎么办?
答案 0 :(得分:2)
控制器操作是一种带有路径的方法,是应用程序的入口点。如果您确实添加了一个没有路由的方法,则无法通过Web请求调用它。