2016-10-12 45 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是有用的,例如,在电子邮件或将实时链接你的应用程序之外