Добавить представление в существующее приложение Rails - просто? - PullRequest
0 голосов
/ 13 октября 2009

У меня есть простой концептуальный вопрос, который поставил меня в тупик. Я пытаюсь просто добавить новое представление под названием «Показ владельца» на имеющийся у меня контроллер получателей. Это будет новая страница, на которой показан владелец получателя, информация об этом получателе "только для владельцев". Я создал helb world erb и назвал его ownershow.html.erb. Я добавил пустое действие к контроллеру под названием ownerhow. Я создал новый маршрут с именем map.ownershow '/ receients /: action /: id ": action =>' ownershow '. Он взрывается. Что я делаю не так? Похоже, такая простая вещь.

Ответы [ 2 ]

1 голос
/ 13 октября 2009

Частично это зависит от того, какую версию Rails вы используете, но я думаю, что ваш маршрут не совсем правильный.

Я считаю, что вам нужно объявить маршрут следующим образом, если вы хотите именованный маршрут:

map.ownershow :controller => 'recipients', :action => 'ownershow'

Однако именованный маршрут несколько отличается от обычного маршрута. с именем route создает сопоставление так, что вы можете просто сказать myapp.com/ownershow, а не myqpp.com/recipients/ownershow. Вы, вероятно, захотите просто добавить к restful member route примерно так:

map.resources :recipients, :member => { :ownershow => :get } 

Полное Руководство по маршрутизации Rails очень хорошо прочитано и помогает объяснить многие вопросы такого типа.

0 голосов
/ 13 октября 2009
map.ownershow '/recipients/:action/:id" :action =>'ownershow'

должно быть

map.ownershow '/recipients/ownershow/:id", :controller => 'recipients', :action =>'ownershow'

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

Вы должны указать, по крайней мере, контроллер и действие тем или иным образом (из средства сопоставления путей или жестко заданного кода) для всех маршрутов.

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