2013-10-25 4 views
0

Я хочу иметь ссылку на моей странице показа, которая вызовет функцию на контроллере, а затем перезагрузит страницу показа.Как вызвать функцию контроллера из представления, а затем перезагрузить одну и ту же страницу?

Я работаю с самоцветом SNMP, и функция будет включать административную настройку вверх/вниз на конкретном интерфейсе коммутатора.

Мне нужно передать текущую @node и индексный индекс интерфейса функции «toggleAdmin», которая находится на моем контроллере узлов. Затем toggleAdmin будет запускать команды gem для SNMP, чтобы проверить текущий статус указанного интерфейса и установить его на противоположное. После того, как он закончит работать, он снова отобразит «шоу».

Я попытался:

<% link_to "ToggleAdmin", :controller=>:nodes, :action=>:toggleAdmin %> 

Но я получаю:

No route matches {:controller=>"nodes", :action=>"toggleAdmin"} 

Что бы я положил в маршрутах файл для этого, и как я могу лавировать на дополнительные параметры с точки зрения в порядке чтобы они перешли к функции toggleAdmin?

ответ

0

В маршрутах вы можете иметь это:

get 'nodes/toggle_admin' 

Тогда ваш link_to должен работать

<% link_to "ToggleAdmin", nodes_toggle_admin_path(:some_param => :value) %> 

И да, "toggleAdmin" не соответствует именования. Должно быть «toggle_admin»

+0

Нужна ли мне «совпадение» в записи маршрутов или просто то, что вы разместили на своей собственной линии? – wolf2600

+0

Эта линия - вид сахара для матча. –

+0

Вы рок. Спасибо. – wolf2600

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