2016-10-12 109 views
1

我是一個noob。redirect_to帶附加參數

redirect_to users_url, notice: 'Succeed.' 

<p id="notice"><%= notice %></p> 

然後我添加message,但是失敗:

redirect_to users_url, notice: 'Succeed.', message: 'test' 

<p id="notice"><%= notice %></p> 
<h1><%= params[:message] %></h1> # no result 
<h1><%= message %></h1> # name error 

什麼users_urlusers_path之間的區別是什麼?

+0

[在rails重定向中傳遞參數\ _to]可能重複(http://stackoverflow.com/questions/1430247/passing-parameters-in-rails-redirect-to) – CDub

回答

3

你會想要將它傳遞的_url_path方法:「成功」

redirect_to users_url(message: 'test'), notice: 'Succeed.' 

這將重定向到/users的絕對路徑,將閃光燈設置通知其他參數message設置爲「測試」。

要回答你的第二個問題,_path返回路徑的相對路徑,而_url返回一個絕對的URL路徑:

users_url # => http://www.example.com/users 
users_path # => /users 

_url是有用的,例如,在電子郵件或將實時鏈接你的應用程序之外