Как проверить, существует ли запись только для конкретного пользователя? - PullRequest
0 голосов
/ 31 августа 2018

Прямо сейчас в моем POST-маршруте у меня есть это:

post '/states' do
  if logged_in? && params[:state_name] != ""
    @state = State.find_or_create_by(:state_name => params[:state_name])
      if @state.users.exists?
        "You have already added this state."
      else
        @state.users << current_user
        redirect "/states"
       end

Если пользователь добавляет одно и то же состояние дважды, он получает сообщение об ошибке, и оно не добавляет дубликаты в базу данных. Отлично, но когда НОВЫЙ пользователь добавляет такое же состояние, он получает одно и то же сообщение об ошибке. Как проверить, существует ли запись только для current_user? Если он не существует, я хочу, чтобы current_user был добавлен в @ states.users.

Я пробовал кучу разных вещей, но не могу заставить его работать.

1 Ответ

0 голосов
/ 31 августа 2018

То, что вы хотите, это ...

  if @state.users.include? current_user
    "You have already added this state."
  else
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...