Rails, обновление записей для системы приглашений

Я хочу разрешить пользователям принимать приглашения, тег принятия находится в самой модели приглашений (поэтому мне нужно обновить таблицу). Пока ничего не происходит, когда пользователь нажимает кнопку подтверждения

Посмотреть

 <% @invites.where(user_id: current_user.id).find_each do |invite| %>
...
 <%= button_to "Accept", accept_invite_invites_path(invite), method: :put %>
 end

Маршруты

  resources :invites do
    collection do
      get 'accept_invite'
    end
  end

контроллер

def accept_invite

  @invite = Invite.find(params[:id])
  @invite.accept
end

def decline_invite
  @invite = Invite.find(params[:id])
  @invite.decline
end

    def set_invites
      @invite = @story.invites.find(params[:id])
    end

 def new
    @invite = @story.invites.new
 end

Я получаю "неопределенный метод" invites "для nil:NilClass", если я сохраняю: update как часть set_invites, удаление update позволяет моему коду работать, но в базу данных не вносятся никакие изменения.

модель

   def accept
    accept = true
    save

  end

  def decline
    accept = false
    save

  end

Приставка

Processing by InvitesController#update as 
  Parameters: {"authenticity_token"=>"BDle9fqXHT9ZFctMbO4RvxfPuTQXe2Nq+b6/T29B3xjpYdtMozVUFLiRlaQFtuYzMrBceTQn8OtfGjJTe4wa/Q==", "id"=>"accept_invite"}
  User Load (1.7ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 2 ORDER BY `users`.`id` ASC LIMIT 1
No template found for InvitesController#update, rendering head :no_content
Completed 204 No Content in 85ms (ActiveRecord: 1.7ms)

Это странно, потому что база данных выбирает из пользовательской таблицы, а не обновляет таблицу приглашений

Так в чем проблема? Маршрут неисправен? Мой метод set_invites?

1 ответ

Решение

Так в чем проблема? Маршрут неисправен? Мой метод set_invites?

Да, ваш маршрут неисправен. Как я вижу, вы объявили свой маршрут в коллекции, но вам нужен член. А также вы должны изменить его на put,

resources :invites do
  member do
    put 'accept_invite'
  end
end
Другие вопросы по тегам