Ошибка ParameterMissing
, вероятно, связана с тем, что вы указали требование request
модель в своих параметрах через strong_params
.
Поскольку вы пытаетесь обновить существующую запись с помощью current_user
, который вы указалиВам не нужна форма.
Обновите действие принятия в RequestsController
:
def accept
@request = Request.find params[:id]
if @request.update_attribute(:ssp, current_user)
redirect_to requests_path
flash[:success] = "The request have been accepted!"
end
end
Модель запроса
class Request < ApplicationRecord
belongs_to :ssp, class_name: "User"
end
И ваши маршруты:
resources :requests do
member do
get "accept"
end
end
<%= link_to 'Accept request', accept_request_path(request) %>
Также в качестве рекомендации попробуйте использовать другое имя для вашей модели, поскольку слово request широко используется в Rails.Я не знаю, может ли это быть проблемой позже.