如何在ROR中为问号方法设置attr_accessor

时间:2015-03-01 14:37:23

标签: ruby-on-rails

初始化MyBox时,我收到了以下错误。

NameError: invalid attribute name `isClocked?'

以下是我的模特档案。

class MyBox < ActiveRecord::Base
    attr_reader :isClocked?
end

schema.rb包含

t.boolean  "isClocked?"

在attr_accessor中使用?标记似乎无效。但我的属性包含?。我该如何访问它?

1 个答案:

答案 0 :(得分:0)

在你的情况下你应该:

  1. 将字段定义为:

    t.boolean :clocked
    
  2. 删除attr_reader,因为AR会自动创建。

  3. 使用模型中的clockedclocked?字段来访问字段值:

    my_box = MyBox.first
    
    p my_box.clocked?
    p my_box.clocked