확실하지 보석을 세계화하여 나는 경우 상기의 세계화 보석레일 : SQL로 명시된 경우 액티브 레코드 쿼리 조건에만 작동 -이 당신이 알고있는 그 이것에 대한 수정이지만, 경우
class Menu < ActiveRecord::Base
translates :name
# other stuff ...
end
를 사용하는 경우 활성 레코드 쿼리를 표준으로 작성하면 빈 세트가 생성됩니다.
- 일반적으로
Model.where(attribute: "Value")
이 작동하지 않는,
Model.where('attribute = ?', 'Value')
이 작업을 수행합니다.
--- 내 메뉴 모델의 콘솔에서 실제 예제 : 왜 이런 일
이 가2.3.0 (main):0 > Menu.where(name: "Lunch Boxes")
=> []
2.3.0 (main):0 > Menu.where('name = ?', "Lunch Boxes")
=> [#<Menu:0x007fbab6dc6838 id: 12, restaurant_id: 15, name: "Lunch Boxes", created_at: Wed, 05 Jul 2017 16:07:20 EDT -04:00, updated_at: Thu, 10 Aug 2017 14:48:38 EDT -04:00>]
가
사람이 말해 줄래?
그냥 좋은 측정을위한
레일 4.2.6 루비 2.3.0
세계화가 뒤로하고 있지만 Model.where (특성 : "값"). to_sql "과"Model.where ('특성 =?', '값')를 비교하는 것은 잘 모르겠다. to_sql' 계몽일지도 모릅니다. 원본 테이블 데이터 (즉, ActiveRecord 노이즈가없는)를 보면 계몽적일 수 있습니다. –
mu 너 천재 야. 블레. to_sql에 대한 귀하의 제안을 간략하게 살펴보면 번역 테이블에 번역이 없으면 조회 중에 변환해야하는 속성이있는 모델이 nil을 반환하므로 콜렉션이 비어 있음을 알 수 있습니다.내 광산 자체 애플 리케이션을 망 쳤어. 감사합니다 – trh
그 해답을 답으로 바꾸는 것이 가치가 있습니다. 모든 마술은 일이 "일만하지 않으면"매우 혼란 스러울 수 있습니다. –