2017-11-28 11 views
0

사이 더듬다 검색을 만드는 방법 :의 나는 다음과 같은 모델을 가지고 있다고 가정 해 봅시다 클래스

User 
has_many :accounts 

Account 
belongs_to :user 
has_many :transactions 

Transaction 
belongs_to :account 
belongs_to :user 

나는 테이블 거래의 열 "ACCOUNT_ID"을 만들었습니다, 계정에 "USER_ID".

Ransack을 사용하여 트랜잭션에서 검색을 수행하고 사용자의 속성 이름을 필터링하여 전달할 수 있습니까? 기본적으로, 나는 이름을 받고 그 사용자가 속한 계정의 모든 거래를 반환해야하는 검색 필드를 만들고 싶다.

그러나 Ransack은 내가보기에는 각 테이블의 열을 검색하도록했습니다.

처럼, 내가 사용하는 거래에서 검색 ACCOUNT_ID 찾을 수 있습니다

<%= search_form_for @search do |f| %> 
<%= f.label :account_id_eq, 'Account ID:' %> 
<%= f.text_field :account_id_eq %> 

을 나는 필터 사용자 이름을 사용하여 모든 트랜잭션을 얻으려면 그렇다면, 나는 테이블 거래에서 외래 키 _ 이름을 만들어야합니다 ? 다른 방법이 있습니다. 죄송합니다. 문제를 잘 설명 할 수없는 경우 "내게 맞는 사람이 없습니다."

답변

0

Ransack에서는 연관성별로 검색 할 수 있습니다. account_user_name_eq을 전달하십시오.