У меня есть records_controller
, сгенерированный через обычный генератор scaffold_controller.Я хотел бы добавить пользовательский метод, давайте назовем его share
, чтобы передать туда только один параметр с адресом электронной почты.Если в моей базе данных есть электронная почта, я хотел бы добавить связанную в id
к record
.
Я добавил метод обмена в records_controller
:
def share
logger.info record_params
logger.info params
# check email in db and add id
respond_to do |format|
format.js
end
end
форму в представлении представления:
<%= form_tag(controller: "records", action: "share", method: "put", remote: true) do %>
<%= label_tag(:user_email, "Share for:") %>
<%= text_field_tag(:user_email) %>
<%= submit_tag("Share") %>
<% end %>
и правило в маршрутах :
put '/records/:id/share', to: 'records#share'
Форма отображается нормально, но когда я нажимаю кнопку click, я получаю ошибку:
ActionController::RoutingError (No route matches [POST] "/records/2/share"):