0
사용자 테이블에 id (정수)가 있고 arel을 사용하여 SQL 쿼리를 작성하면이 결과를 얻습니다.Rails의 정수 속성에 대해 일치 쿼리를 수행하는 방법
users = Arel::Table.new(:users)
users.where(users[:id].matches("foo")).to_sql #=> "SELECT FROM `users` WHERE `users`.`id` LIKE 0"
나는이 SQL 대신 생성해야합니다
"SELECT FROM `users` WHERE `users`.`id` LIKE 'foo'"
나는 후드 원치 않는 타입 캐스팅 장소의 어떤 종류의 거기 느낌이있다.
업데이트 :
는 드디어 Arel :: 노드 :: SqlLiteral 클래스의 인스턴스를 사용하여이 문제를 해결했다.
str = Arel::Nodes::SqlLiteral.new("'foo'")
users.where(users[:id].matches(str)).to_sql #=> "SELECT FROM `users` WHERE `users`.`id` LIKE 'foo'"