#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 за этот ответ.