2016-10-12 2 views
1

Я ном.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_url и users_path?

+0

Возможный дубликат [Передача параметров в рельсах перенаправления \ _to] (http://stackoverflow.com/questions/1430247/passing-parameters-in-rails-redirect-to) – CDub

ответ

3

Вы хотите, чтобы передать его в _url или _path метод: «Succeed»

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

будет переадресован на абсолютный путь для /users, устанавливая вспышки уведомления с дополнительным параметром message, установленным в «test».

Чтобы ответить на ваш второй вопрос, _path возвращает относительный путь к маршруту, тогда как _url возвращает абсолютный URL маршруту:

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

_url полезно, например, в сообщениях электронной почты или ссылки, которые будут жить вне вашего приложения.

Смежные вопросы