表单字段不是rails db模型的一部分

时间:2012-06-16 02:07:27

标签: ruby-on-rails

我在一个表单上有一个字段,我试图在相应的模型中访问,但它不是模型数据库表的一部分。处理这个问题的最佳方法是什么?这是不好的做法吗?

1 个答案:

答案 0 :(得分:14)

可以使模型属性不在数据库表中。这些称为虚拟属性

假设您要处理名为“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