Ruby Rails redirect_to 方法
Ruby on Rails redirect_to method
假设我的控制器中有这一行
redirect_to "/sessions/try", provider: 5
这是我的 try.html.erb
<h1>try</h1>
<%= provider %>
显然这行不通,但是我如何让 'provider' 出现在我的 html 文件中?
将提供商作为参数发送
redirect_to "/sessions/try?provider=5"
比 try.html.erb
<h1>try</h1>
<%= params[:provider] %>
如果您没有 /sessions/try
的命名路由,则必须将参数硬编码到传递给 redirect_to
的字符串中:
redirect_to "/sessions/try?provider=5"
或
hash = { provider: 5 }
redirect_to "/sessions/try?#{hash.to_param}"
但是如果你已经将路由命名为try_sessions_path
,那么你可以使用:
redirect_to try_sessions_path(provider: 5)
在您看来,您将获得 params
散列中的密钥:
<%= params[:provider] %>
假设我的控制器中有这一行
redirect_to "/sessions/try", provider: 5
这是我的 try.html.erb
<h1>try</h1>
<%= provider %>
显然这行不通,但是我如何让 'provider' 出现在我的 html 文件中?
将提供商作为参数发送
redirect_to "/sessions/try?provider=5"
比 try.html.erb
<h1>try</h1>
<%= params[:provider] %>
如果您没有 /sessions/try
的命名路由,则必须将参数硬编码到传递给 redirect_to
的字符串中:
redirect_to "/sessions/try?provider=5"
或
hash = { provider: 5 }
redirect_to "/sessions/try?#{hash.to_param}"
但是如果你已经将路由命名为try_sessions_path
,那么你可以使用:
redirect_to try_sessions_path(provider: 5)
在您看来,您将获得 params
散列中的密钥:
<%= params[:provider] %>