Rails 3 では、仮想属性を検索してレコードを取得するにはどうすればよいですか? name
列があり、それにslug
簡単な変更を加えます (以下のコードを参照)。slug
to で「逆引き」を行うにはどうすればよいname
ですか?
find_by_slug
以下のメソッドの正しいコードを見つけようとしています。
class Brand < ActiveRecord::Base
has_many :sale_items
validates :name, :uniqueness => true
def slug
self.name.downcase.gsub(/\s/, '-')
end
def self.find_by_slug(given_slug)
first(slug: given_slug)
end
end
find_by_slug
Rails コンソールで試してみると、Unknown key: slug
エラーが表示されます。
この質問は似ているようですが、私の問題と同じかどうかはわかりません。洞察と助けをいただければ幸いです。