我正在研究Rails应用程序,我遇到了以下问题。
我正在使用名为Wicked的宝石。基本上宝石所做的是允许程序员在控制器中定义步骤,并且在该控制器的show动作中为每个步骤呈现不同的视图。
像这样的东西
class MyController < ApplicationController
steps :one, :two, :three, :four
def show
requested_step = params[:id]
if some_condition
render_step requested_step
else
redirect_to action: "show", id: "four"
end
end
end
所以,你有第一步,第二步,第三步,第四步,你要求像“my_controller / one”这样的东西,它在控制器中将:id作为“一”,并以一个例如渲染。
现在一切都很酷。
BUT
当我在上面的代码中调用redirect_to时,它会将我重定向到 localhost:3007 / my_controller / four 。是的,端口 3007 而不是 3000 。很明显,我的网站无法访问该网址。
我已经检查过我是否有其他服务器启动或其他可能很麻烦的进程并将此重定向生成到端口3007.但事实并非如此。
只是这个重定向将我发送到3007.任何其他请求都适用于端口3000。
有时出现类似问题的人吗?
由于
我的Rails版本是4.2.6
答案 0 :(得分:1)
好的,问题是我的开发服务器设置为 localhost:3007 。我没有意识到这一点,因为当启动运行 rails s 时,服务器在 3000 端口上运行。
我用 rails s -p 3007 启动服务器,没有更多问题。
谢谢,对不起,我以前没有意识到。