typo 코드의 질문

1113 단어 Condition
typo 코드에서 trigger.rb에 다음과 같은 코드가 있다
def remove(pending_item, conditions = { })
      return if pending_item.new_record?
      conditions_string =
        conditions.keys.collect{ |k| "(#{k} = :#{k})"}.join(' AND ')
      with_scope(:find => { :conditions => [conditions_string, conditions]}) do
        delete_all(["pending_item_id = ? AND pending_item_type = ?",
                    pending_item.id, pending_item.class.to_s])
      end
    end

그중의
conditions_string =
        conditions.keys.collect{ |k| "(#{k} = :#{k})"}.join(' AND ')

(col1=:col1 and col2=:col2)와 유사한 코드를 생성하였으나, 늘 이런 문법이 틀릴 수 있다고 생각해서 비슷한 시험을 썼다
find(:all,:conditions => [ 'id = :id ', {'id'=>3}])

과연
나 쓸 수 있는 거 알아.
4
find(:all,:conditions => [ 'id = ? ',3])
해결하지만 수량이 없는 조건을 전달하려면 함수 파라미터를 바꿔야 한다.Hash나 Array로 동적condition 파라미터를 실현하려면 어떻게 실현해야 할지 모르겠다.

좋은 웹페이지 즐겨찾기