重定向在Rail 2中无法正常运行的问题

时间:2013-09-10 17:04:52

标签: ruby-on-rails ruby redirect ruby-on-rails-2 actioncontroller

我在控制器中间有这个重定向,所以如果没有,那么如果需要,它会将你重定向到网站的新区域。这是问题所在。它只是忽略了代码中的重定向。它看起来像这样。

if conditions
  redirect_to "/new/address"
end

我甚至无法弄清楚为什么它不会重定向,但我知道它会使它进入条件状态并且字面上只是忽略了重定向。我在这里缺少什么!?

我正在使用Rails 2和Ruby 1.8

3 个答案:

答案 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_torender调用不会终止该方法。方法执行在执行重定向/渲染之前一直持续到结束。因此,如果您希望在此时终止方法的执行,请添加return语句。通常的模式是:

redirect_to(<my route>) and return