Rails, синтаксическая ошибка?

#ruby-on-rails #validation #syntax #scope

#ruby-on-rails #проверка #синтаксис #область

Вопрос:

Я следую этому руководству, чтобы создать систему обмена сообщениями в rails. https://medium.com/@danamulder/tutorial-create-a-simple-messaging-system-on-rails-d9b94b0fbca1#.lhwzqr92b

Моя главная проблема сейчас заключается в том, что я получаю синтаксическую ошибку unexpected '?' , связанную со следующей проверкой области видимости в моей модели диалога:

   scope :between, -> (sender_id,recipient_id) do
  where("(conversations.sender_id = ? AND conversations.recipient_id = ? ) OR (conversations.sender_id = ? AND conversations.recipient_id = ? )", sender_id,recipient_id, recipient_id, sender_id)
  end
 

Предполагается, что он проверяет, существует ли диалог между двумя пользователями, чтобы мы могли убедиться, что существует только диалог между 2 пользователями.

Я пытался возиться с кодом, вынимая некоторые круглые скобки, и поиск в Google дает мне только общие ответы. Я схожу с ума здесь. Может кто-нибудь помочь указать на синтаксическую ошибку?

Комментарии:

1. Ты выглядишь странно. Вы скопировали и вставили эту строку? Это должно выглядеть примерно так "

2. спасибо, Джек, я думаю, что с этими цитатами действительно была проблема. Это больше не вызывает синтаксическую ошибку, но кавычки забавным образом выделяют код. я посмотрю, работает ли это

3. Извини, Джек, этого не должно было случиться, сейчас работает

Ответ №1:

Проблема заключается в копировании / вставке кавычек -> " . Следуя инструкциям, мы должны проявлять особую осторожность при копировании кода в наши проекты, где используются кавычки.

Спасибо @slowjack2k за этот ответ.