ActiveAttr“:default”无效

时间:2012-02-25 03:36:34

标签: ruby-on-rails ruby-on-rails-3

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>

2 个答案:

答案 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"