我一直在互联网上寻找一个多小时,但我找不到任何关于此的信息。
我正在为网站的数据创建过滤器,目前这些过滤器由案例声明处理
class MyClass
attr_accessor :attribute
def self.function(value)
query = case value
when "open" then "Open"
...
end
where(:attribute => query)
end
end
由于各种原因(即动态而不是硬编码过滤器),我想用getter和setter创建一个模型,但我无法让它工作
我的新功能:
def self.function(value)
Attribute.name = value
where(:attribute => Attribute.name)
end
我的新模型:
class Attribute
attr_accessor :name
end
和测试:
it "should set the attribute to 'hello'" do
MyClass.function("hello")
Attribute.name.should eql "hello"
end
给出一个错误:
Failure/Error: Myclass.function("hallo")
NoMethodError:
undefined method `name=' for Attribute:Class
任何帮助,将不胜感激