2010-04-20 3 views
1

내가 거기 이사 에피소드를 발견 레일에 named_scope 지정된 이름named_scope 및 substings는

named_scope :director_given, lambda { |dr| {:joins => :director, :conditions => ['given = ?', dr]} } 

그것은 잘 작동하지만 그것은 또한 문자열 하나의 이름을 일하고 싶습니다있다. 예 : 'Lucy'를 검색하는 대신 'Lu'만 검색하면됩니다.

P. 나는 똑같은 일을하지만 감독의성에 또 다른 이름의 범위가있다. 그것들을 결합하는 방법이 있습니까?

감사합니다,

답변

2

뭔가

named_scope :director_given, lambda { |dr| {:joins => :director, :conditions => ['given LIKE ?', "%#{dr}%"]} } 

두 번째 질문

같은 :

named_scope :director_given, lambda { |dr| {:joins => :director, :conditions => ['first_name LIKE ? OR second_name LIKE ?', "%#{dr}%", "%#{dr}%"]} } 
+0

감사합니다, 나는이 시도하지만 시도는 콘솔에서 사용하는 때이 오류가 : 액티브 :: StatementInvalid : SQLite3 :: SQLException : "%"근처 : 구문 오류 : SELECT "episodes". * FROM "episodes"INNER JOIN "people" "people".id = "episodes".director_id A ND ("people". "type"= 'Director') WHERE (주어진 = % 'Lucy'%) = 같은 것을 변경해 보았지만 같은 오류가 발생했습니다. – philb28

+0

내 응답을 업데이트했습니다. –

+0

감사합니다. 훌륭한 작품들입니다 !! 건배! – philb28

관련 문제