В ваших маршрутах вы обычно будете иметь объявление ресурсов, похожее на это
resources :users
Лучший способ добавить в него маршрут restfull - это определить метод запрета в контроллере пользователей и добавить участника.маршрут к маршруту пользователя, чтобы ваш маршрут в конечном итоге выглядел следующим образом
resources :users do
member do
post :ban, :pay, :whatever
end
end
Используйте маршрут memeber для действий после размещения формы, т. е. при использовании помощников вида button_to или form_for (плюс другие).Использовать коллекции для запросов на получение (т. Е. Ссылки)
В качестве альтернативы вы можете использовать <% = button_to 'Ban', @user%>, а затем в действии обновления для контроллера пользователей проверить параметры фиксации для запрета текста и действоватьСоответственно, на самом деле я иногда использую это, например, так:
if params[:commit] == 'Ban'
# do something like calling a ban method setting a flash notice or alert and redirecting
else
normal controller flow
end
Еще лучше.Используйте i18n, чтобы отобразить текст на кнопке, и сравните то же значение i18n с параметром фиксации, тем самым предоставив вам возможность изменить текст на кнопке, обновив файл y18n i18n, не нарушая код контроллера