감안할 때 예를 들어 모델 with_role rolify으로 이상한 행동을한다 그러나액티브 병합이 같은
records = Foo.joins(bar: { baz: :qux }).merge(Qux.where(x: 17))
records = Foo.joins(bar: { baz: :qux }).merge(Qux.with_role(:admin))
은의 수집을 반환의 값으로 채워진 레코드는 Foo
입니다.테이블. 즉, 을 의미합니다. 여기서 z
은 foos
에 있지만 quxxes
에없는 열은 누락 된 속성 오류를 제공합니다. 당신은 거의으로이 문제를 해결할 수 있습니다
records = Foo.select('foos.*').joins(bar: { baz: :qux }).merge(Qux.with_role(:admin))
그러나 그렇지 foos
에서 quxxes
에 열에서 값을 하겠지만 이것은기만하는 전형적인의 예 id
, created_at
를 들어, 같은 이름이 열 및 updated_at
레일 응용 프로그램은 quxxes
에서 올 것입니다.
질문을 이해하지 못했습니다. 너 뭐하려고? – Surya
또한 'has_many' 또는'has_one' 연관은 어디에 있습니까? – nikkon226
@ User089247 rolify를 사용하여 관리 역할과 연관된 qux에 속하는 baz에 속하는 막대에 속한 모든 foo 레코드에 대한 쿼리를 시도하고 있습니다. – olleicua