Не могу добавить новую функцию в мой класс контроллера (RoRails) - PullRequest
0 голосов
/ 02 марта 2010

Я пытаюсь определить новую функцию в моем классе контроллера. Я сделал все, используя Scaffolding, и все работало хорошо. Но теперь, когда я добавляю новую функцию в контроллер, настраиваю представление и т. Д., Он говорит какую-то странную ошибку (пытается загрузить действие show, когда я запрашиваю логин).

Что скаффолд делает, что я не? Спасибо

Ответы [ 2 ]

0 голосов
/ 02 марта 2010

Scaffolding добавит map.resources: controller_name в ваш файл конфигурации / маршрутов.

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

Если вы хотите просмотреть все действия маршрута для своего приложения, вы можете запустить эту команду rake

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

0 голосов
/ 02 марта 2010

Вы должны добавить новую запись в свой файл маршрутизации (RAILS_APP / config / rout.rb)

если у вас есть, например, контроллер Foo, и вы будете рекламировать функцию бара

map.resources :foos, :collection => {:bar, :get} # /foos/bar
map.resources :foos, :member => {:foo, :get} # /foos/1/bar

Если это не решит вашу проблему, вставьте файлы маршрутизации и контроллера.

...