インターネットで 1 時間以上探していますが、これについては何も見つかりません。
Web サイトのデータ用のフィルターを作成していますが、現在これらは case ステートメントで処理されています
class MyClass
attr_accessor :attribute
def self.function(value)
query = case value
when "open" then "Open"
...
end
where(:attribute => query)
end
end
さまざまな理由 (つまり、フィルターをハード コーディングする代わりに動的) により、ゲッターとセッターを使用してこれからモデルを作成したいのですが、これを機能させることができません。
私の新しい機能:
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
どんな助けでもいただければ幸いです