我想更改Rails默认重定向代码

时间:2014-08-06 09:53:28

标签: ruby-on-rails ruby rack

我正在修改现有项目,我希望我的应用只有状态:301重定向而不是Rails默认302.由于应用中有很多地方使用redirect_to,我想跳过修改所有这些并添加状态:301作为参数,所以我希望如果可能的话将我的应用的默认rails重定向代码更改为301,或者如果那不可能则以某种方式"劫持&# 34; 302重定向并将其更改为301.

提前致谢

1 个答案:

答案 0 :(得分:3)

你可以monkeypatch redirect_to方法:

class ApplicationController < ActionController::Base
  def redirect_to_with_permanence(options = {}, response_status = {})
    response_status.reverse_merge! status: :moved_permanently 
    redirect_to_without_permanence options, response_status
  end
  alias_method_chain :redirect_to, :permanence
end