Rails 升级的语法错误,意外的 '\n',期待 => (SyntaxError)

Posted

技术标签:

【中文标题】Rails 升级的语法错误,意外的 \'\\n\',期待 => (SyntaxError)【英文标题】:Rails Upgraded syntax error, unexpected '\n', expecting => (SyntaxError)Rails 升级的语法错误,意外的 '\n',期待 => (SyntaxError) 【发布时间】:2014-04-22 07:44:00 【问题描述】:

我有这个问题

has_many :unused_invitations, :class_name => 'Invitation', :foreign_key => 'inviter_id', :conditions => 'used = false'

我使用的是 rails 3.2.17,现在我正在升级到 rails 4.0.4。我收到了这个错误

DEPRECATION WARNING: The following options in your User.has_many :unused_invitations declaration are deprecated: :conditions. Please use a scope block instead. For example, the following:

    has_many :spam_comments, conditions:  spam: true , class_name: 'Comment'

should be rewritten as the following:

    has_many :spam_comments, ->  where spam: true , class_name: 'Comment'

我通过修改查询来解决

has_many :used_invitations, class_name: 'Invitation', foreign_key: 'inviter_id', ->  where used: false

但我仍然遇到语法错误

syntax error, unexpected '\n', expecting => (SyntaxError)

查询有什么问题?有人会解释一下吗。我已经去了this 的问题,但找不到答案。

【问题讨论】:

【参考方案1】:

通过更新查询来解决这个问题

has_many :used_invitations, ->  where used: false, class_name: 'Invitation', foreign_key: 'inviter_id'

【讨论】:

是的,关键是在其他选项之前声明查找器选项。 @TaniaR 在这件事上绞尽脑汁太久了,感谢您的澄清。

以上是关于Rails 升级的语法错误,意外的 '\n',期待 => (SyntaxError)的主要内容,如果未能解决你的问题,请参考以下文章

解析错误:语法错误,意外'[',期待')' [重复]

语法错误,意外 ')',期待 '='

语法错误,意外的 ',',期待 ')' 在纤细的导轨中

语法错误,意外 =>,期待结束

Inflector.php 第 265 行中的 FatalErrorException:语法错误,意外 ':',期待 ';'要么 ''

为啥这个解析错误在这里解析错误:语法错误,意外标识符“编辑”,期待“,”或“;”? [复制]