我在相应模型中尝试访问的表单上有一个字段,但它不是模型数据库表的一部分。处理这个问题的最佳方法是什么?这是不好的做法吗?
问问题
6014 次
1 回答
32
可以有不在数据库表中的模型属性。这些被称为虚拟属性。
假设您要处理一个名为“virtual_attribute”的属性。以下是您将如何处理它:
在您的表单中,您将拥有以下内容:
<%= f.check_box :virtual_attribute %>
在您的模型中,您必须这样做:
attr_accessor :virtual_attribute
请注意,这是一个内置的 Ruby 方法,它为您提供了该属性的 setter 和 getter:
#getter
def virtual_attribute
@virtual_attribute
end
#setter
def virtual_attribute=(value)
@virtual_attribute = value
end
于 2012-06-16T02:33:48.763 回答