我想在路由级别 (config/routes.rb
) 将 campaigns#index
重定向到 newsletters#index
。
config/routes.rb
#match '/campaigns' => redirect('/newsletters') # something like this
resources :campaigns do
put 'send_preview'
put 'send_actual'
put 'unschedule'
end
下面的测试成功了,不过我还是希望它成功是因为路由级别的重定向,而不是操作级别的重定向。
test/functional/campaigns_controller_test.rb
class CampaignsControllerTest < ActionController::TestCase
test "get index should redirect to newsletters" do
get :index
assert_redirected_to newsletters_path
end
app/controllers/campaigns_controller.rb
一旦路由级重定向起作用,我想摆脱这个 Action :
def index
redirect_to newsletters_path
end
最佳答案
你的注释行
match '/campaigns' => redirect('/newsletters')
正在工作,还有
match '/campaigns', to: 'newsletters#index'
也在工作。
关于ruby-on-rails - 如何在路由级别重定向,而不是在操作级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11534210/