带有附加参数的redirect_to

时间:2016-10-12 04:39:01

标签: ruby-on-rails ruby

我是个菜鸟。

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之间的区别是什么?

1 个答案:

答案 0 :(得分:3)

您希望通过_url_path方法传递它:

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

这将重定向到/users的绝对路径,将flash通知设置为“Succeed”。附加参数message设置为“test”。

要回答第二个问题,_path会返回路径的相对路径,而_url会返回路径的绝对路径:

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

_url非常有用,例如,电子邮件或位于应用外部的链接。