【问题标题】:Rails, syntax error?Rails,语法错误?
【发布时间】:2016-10-14 09:33:19
【问题描述】:

我正在按照本教程在 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

它应该检查两个用户之间的对话是否已经存在,因此我们可以确保只有两个用户之间存在对话。

我一直在尝试修改代码,去掉一些括号,谷歌搜索只能给我一般的答案。我要疯了。有人可以帮忙指出语法错误吗?

【问题讨论】:

  • 你的看起来很奇怪。您是否复制并粘贴了这一行?它应该看起来像这样"
  • 感谢杰克,我认为这些引文确实存在问题。它不再引发语法错误,但引号以一种有趣的方式突出显示了代码。我会看看它是否有效
  • 对不起,这不应该发生的杰克现在正在工作

标签: ruby-on-rails validation syntax scope


【解决方案1】:

问题在于复制/粘贴的引号 -> "。 在学习教程时,在将代码复制到使用引号的项目中时,我们应该格外小心。

感谢@slowjack2k 的回答。

【讨论】:

    猜你喜欢
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多