[英]Rails: Redirecting from one controller action to another (non-GET)
我有一個GET路由,在呈現視圖之前,Controller會檢查可選參數。 如果有,我想繞過渲染視圖,直接“重定向”到另一個控制器動作。 另一個動作是PUT路由,我意識到我們不能像重定向到GET路由那樣簡單地重定向到PUT路由。
到目前為止,這大致就是我嘗試過的方法,但是我不知道如何調用重定向,因為使用PUT是不可能的。 也許有一些不同的設計模式來處理這種行為? 提前致謝。
Controller actions:
def foo
if 'XYZ'
# "redirect" to bar
else
render 'view'
end
end
#bar is a PUT route
def bar
...
end
如果你有你的路線bar
行動是這樣的
match '/controller/bar/' => 'controller#bar'
修改像
match '/controller/bar/' => 'controller#bar' , :via => [:get,:post,:put]
如果您只想在滿足條件的情況下使用bar
方法
def foo
if 'XYZ'
bar
else
render 'view'
end
end
這將運行bar
方法,並利用其中的任何重定向。 您更有可能想重新檢查您要達到的目標。
如果您可以提供更多詳細信息,那么您將獲得更好的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.