Что не так с моим маршрутом, отправка произвольных параметров с рельсов - PullRequest
0 голосов
/ 01 февраля 2012

Я немного заржавел с Rails.Я пытаюсь создать маршрут, который должен принимать произвольное количество параметров из link_to, но я продолжаю получать ошибки маршрутизации.

Моя ссылка в настоящее время выглядит следующим образом:

<%= link_to "Send Params", :action => "recieve", :controller => "pages", :name => "Test", :email => "test2" %>

И мой маршрут выглядит так:

match 'pages/receive/*params' => 'pages#receive'

И я получаю:

No route matches {:action=>"recieve", :controller=>"pages", :name=>"Test", :email=>"test2"}

Если я сделаю:

<%= link_to "Send Params", :name => "Test", :email => "test2" %>

И:

match '/*params' => 'pages#receive'

Это вроде работает, но мой метод в контроллере не вызывается.

Итак, какдолжен смотреть маршрут и link_to?

1 Ответ

2 голосов
/ 01 февраля 2012

Поправь меня, если я ошибаюсь, но я думаю, что нет необходимости в этом *params в твоих маршрутах.Вы можете сделать так:

# routes.rb
get 'pages/receive', :to => 'pages#receive'

# in view
<%= link_to "Send Params", :action => "receive", :controller => "pages", 
                           :name => "Test", :email => "test2" %>

# it generates link with path like /pages/receive?name=Test&email=test2

# in PagesController#receive
name = params[:name]   # => "Test"
email = params[:email] # => "test2"

В Rails params - это вспомогательный метод (который можно использовать в контроллерах и представлениях), который возвращает хеш, содержащий все параметры GET и POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...