我一直在 rails 中遇到 attr_accessor 的一致性问题。我从来没有弄清楚我错过了什么细节......所以,我想我会在这里提出一个问题。
我有以下内容:
...Controller
new
@something = Something.new
@something.it_should = true
end
.
....Model
attr_accessor :it_should
def should_validate?
it_should
end
validates_presence_of :name, :if => :should_validate?
因此,我将控制器中的实例变量设置为 true。我通过 attr_accessor 使该变量可用于模型。我将变量放入一个方法中,然后在验证中使用该方法。似乎它应该工作。但是,它什么也没做。it_should 永远不会设置为 true。页面加载正常,但字段未验证。
我什至试过这个......但是,它并没有导致验证执行。
def should_validate?
true
end
使用 att_accessor 的技巧是什么?