Как сравнить идентификаторы пограничных классов для достоверности с таблицей соединений «многие ко многим» - PullRequest
1 голос
/ 18 февраля 2020

Я работаю в Синатре над проектом и имею следующий домен:

User-< User_car >-Car

В таблице User_cars у меня есть идентификаторы внешнего ключа User_ID и Car_ID.

У меня проблема:

patch '/cars/:id' do 
    @cars = Car.find_by(id: params[:id])
    if current_user.id == user_cars.user_id
      @cars.update
      redirect to "/cars"
    else
      erb :"/cars/index"
    end
  end

Также есть вспомогательный метод для current_user в ApplicationController:

def current_user
      # returns the current_user object if there is one, otherwise nil
      # checks the session hash and finds a user based on the :user_id key
      @current_user ||= User.find_by(id: session[:user_id])
end

Я не могу редактировать как есть, потому что у меня нет способа оценить current_user как «владельца» / создателя автомобиля с идентификаторами, поскольку они никогда не оценят правдиво. Я даже не получаю сообщение об ошибке, я просто перенаправлен на страницу /cars/index.

...