我在控制器中间有这个重定向,所以如果没有,那么如果需要,它会将你重定向到网站的新区域。这是问题所在。它只是忽略了代码中的重定向。它看起来像这样。
if conditions
redirect_to "/new/address"
end
我甚至无法弄清楚为什么它不会重定向,但我知道它会使它进入条件状态并且字面上只是忽略了重定向。我在这里缺少什么!?
我正在使用Rails 2和Ruby 1.8
答案 0 :(得分:1)
您是否尝试使用rails路径而不是字符串路径?
尝试类似
的内容redirect_to :action => 'new'
如果方法在此控制器内,或类似
redirect_to :controller => 'adress', :action => 'new'
查看结果是否发生变化。
答案 1 :(得分:1)
你在看什么?它会引发错误吗?运行“script / server”时控制台中是否有错误消息?为了实现这一点,应该有一些东西来处理路径“new”,通常是一个名为“NewsController”的控制器(复数形式)或routes.rb
文件中的某些规则。
如果您正在寻求创建新地址,那么您可能正在寻找类似
的内容if conditions
redirect_to new_address_path
end
答案 2 :(得分:1)
不要忘记Rails操作中的redirect_to
或render
调用不会终止该方法。方法执行在执行重定向/渲染之前一直持续到结束。因此,如果您希望在此时终止方法的执行,请添加return
语句。通常的模式是:
redirect_to(<my route>) and return