Rails:意外的tSYMBEG错误

时间:2016-07-08 10:40:44

标签: ruby-on-rails ruby activerecord rails-activerecord

我在同一主题上发现了几个问题但是它们都有标点符号的问题(错过或添加了逗号)。就我而言,迁移时出现以下错误

  

SyntaxError:/home//workspace//app/models/user.rb:27:   语法错误,意外的tSYMBEG,期待keyword_do或' {'或'('
  has_many:角色,通过:职位

用户模型:

class User < ActiveRecord::Base
  has_many :positions
  has_many :roles, through :positions
end

角色模型:

class Role < ActiveRecord::Base
  has_many :positions
  has_many :users, through :positions
end

职位模型:

class Position < ActiveRecord::Base
  belongs_to :role
  belongs_to :user
end

知道可能是什么问题吗?谢谢!

1 个答案:

答案 0 :(得分:4)

through应该是这里的符号:

has_many :roles, through: :positions

在这里:

has_many :users, through: :positions

这是一个传递给has_many方法的哈希键,而不是一个单独的方法。

Documentation