2013-04-01 4 views
1

단순한 것이 누락 될 수 있지만 어떻게 비 지속 속성으로 레코드를 찾을 수 있습니까?레일 find_by 접근 자

class Post < ActiveRecord::Base 
    attr_accessible :title 
    attr_accessor :slug 

    def slug 
    title.parameterize 
    end 
end 

내가 사용하고 레일 3.2.11 불행하게도

답변

1

, 나는이 작업을 수행 할 수있는 유일한 방법은 당신이 당신의 목표를 찾을 때까지 모든 레코드를 반복하는 것입니다 생각 ,에서와 같이 :

def self.find_by_slug(slug) 
    Post.select("title").detect { |post| post.slug == slug } 
end 

아마 같은 것을 표현하는 대체 방법이있을 것입니다. 논리,하지만 그들은 모두 루비 반복이 많이 필요할 것이라고 생각합니다. 따라서 많은 수의 게시물에 대해 효율적으로 사용하려면 속성을 유지하는 것이 좋습니다.

+0

그게 내가 시간의 이익을 위해 일을 끝낸 것이고, 그것이 맞는 것 같아요. 댄 확인을 주셔서 감사합니다. – mehulkar