나는 사용자 모델을 가지고 있고이 사용자 모델 나는이 작업을 수행 할 수 있도록 내가 사용자 모델에 find_by_name 기능을 추가 할 수있는 방법는 가상 속성
def name
last_name.blank? ? first_name : "#{first_name} #{last_name}"
end
에 다음 한의 모델에 find_by_을 추가하려면 :
User.find_by_name("Peter Smith")
나는 사용자 모델을 가지고 있고이 사용자 모델 나는이 작업을 수행 할 수 있도록 내가 사용자 모델에 find_by_name 기능을 추가 할 수있는 방법는 가상 속성
def name
last_name.blank? ? first_name : "#{first_name} #{last_name}"
end
에 다음 한의 모델에 find_by_을 추가하려면 :
User.find_by_name("Peter Smith")
난 당신이 비슷한 질문 Rails virtual attribute search or sql combined column search에 대한 named_scope
짐과 NAD 답변을 사용하여 아마 좋은 시작 것을 할 수 있다고 생각합니다.
attr_acessible :name
name
은 보통 인스턴스 변수와 같으며 name
또는 self.name
으로 명백하게 액세스 할 수 있습니다. 이제 User.find_by_name ('somename')을 할 수 있다고 생각합니다.
이것을 사용할 수 있습니다. 두 부분으로, FIRST_NAME과 LAST_NAME로 이름을 분할하고 하나 나를 위해 작동하지 않았다 그들에게
named_scope :find_by_name, lambda {|name| {:conditions => ["first LIKE '%?%' or last LIKE'%?%'", name.split(' ').first, name.split(' ').last]}}
왜 당신은 여기에 같은 것을 사용하고 있습니까? 왜 이처럼'named_scope : find_by_name, lambda {| name | {: conditions => [ "first_name =? 또는 last_name =?", name.split ('') .first, name.split ('') .last]}} ' – rubyprince
중간 이름도 포함되어 있습니다. 직접 비교하면 기록을 놓치게됩니다 ... – rubyprince
나는 또한이 라인에 생각이 작동하지 않았다 it..but 시도했다 .. – rubyprince
검색, 가지고' 알 수없는 키'오류입니다. –