0

我有一个名称为别名的属性和create_alias的方法。我使用 create_alias 方法作为 before_validation 回调。在方法声明中,我有以下几行

while ProjectType.find_by_alias(tmp) != nil 
  tmp = self.alias + "-" + i.to_s
  i += 1 
end

如您所见,代码尝试创建唯一别名,但在 rails 4.0 上我们遇到此错误消息。

SyntaxError: /home/vagrant/.rvm/gems/ruby-1.9.3-p194@comRails4/bundler/gems/rails-39555a5b1989/activerecord/lib/active_record/dynamic_matchers.rb:65: syntax error, unexpected keyword_alias, expecting ')'
     def self.find_by_alias(alias, options = {})
4

1 回答 1

1

更改您的列名。如您所见,alias是 Ruby 关键字,它不应该用作列名。

于 2013-08-14T16:11:11.423 回答