Rails 3では、仮想属性を参照してレコードを取得するにはどうすればよいですか?私はname
の列とslug
を持っていますが、これは簡単な変更です(下記のコードを参照してください)。 slug
〜name
で「逆引き検索」を実行するにはどうすればよいですか?仮想属性でActiveRecordレコードを取得する方法は?
私は以下のfind_by_slug
方法のための右のコードを見つけようとしている:私は私がUnknown key: slug
エラーを与えていますRailsのコンソールで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
を。
This質問は類似しているようですが、私の問題と同じかどうかはわかりません。私はいくつかの洞察力と助けに感謝します!
を使用する必要があり、それは可逆的ではありません。私はあなたのアドバイスを受け取り、それを通常の属性にします。 –