将新属性添加到spree模型时出现意外的keyword_end

时间:2014-08-19 08:34:29

标签: ruby-on-rails spree

我想添加一个新属性" usertype"给用户。我按照以下链接回答:

Extending the Spree::Product model/class

我创建了一个新的迁移,并创建了一个文件" spree / user_decorator.rb",其中包含以下代码:

Spree::User.class_eval
  attr_accesssible :usertype
end

但是当我运行" rails s"时,它说我有"语法错误,意外的keyword_end,期望输入结束(SyntaxError)"在这个文件中。

这三行代码有什么问题?

PS:我也试过

Spree::User.class_eval do
  attr_accesssible :usertype
end

然后它说attr_accesssible方法不存在。

1 个答案:

答案 0 :(得分:0)

您的第一个代码示例在语法上是不正确的。您的第二个代码示例是正确的语法。

attr_accessible不再用于Rails 4,Spree 2.1及更高版本使用它。您应该选择将该属性添加到Spree的PermittedAttributes