ActiveAttr":默认"由于某种原因不起作用。我在Rails中使用它。 "属性"似乎已经创建了,但"默认值似乎没有得到应用。
代码:
class Weekends
include ActiveAttr::Model
attribute :weeks, :default => ["asdf","qwer"]
attribute :a, :default => "asdf;lkj"
end
控制台:
Gregs-MacBook-Pro:googleweekends greg$ rails console
Loading development environment (Rails 3.2.1)
1.9.3-p0 :001 > w = Weekends.new
=> #<Weekends a: nil, weeks: nil>
答案 0 :(得分:1)
属性默认支持仅在active_attr v0.5.0 +中,当前为alpha。您可以从Rubygems.org安装预发行版,也可以从github.com安装git。
答案 1 :(得分:0)
从文档中可以很难说出ActiveAttr :: Model包含哪些功能,但您可能还需要include ActiveAttr::AttributeDefaults
将AttributeDefaults模块包含在您的类构建中 允许使用属性声明默认值的属性。
class Person
include ActiveAttr::AttributeDefaults
attribute :first_name, :default => "John"
attribute :last_name, :default => "Doe"
end
person = Person.new
person.first_name #=> "John"
person.last_name #=> "Doe"