Прямо сейчас в моем 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.
Я пробовал кучу разных вещей, но не могу заставить его работать.